Como criar uma interface gráfica em Java
já Uso Java há algum tempo, mas nunca criei um GUI - always CLI. Como se cria uma interface gráfica em Java? Você pode sugerir um bom tutorial / referência?
eu estou olhando para criar uma GUI simples que tem duas longas áreas de texto e alguns botões.
7 answers
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JTextArea;
public class Foo{
public static void main(String[] args) {
JFrame f = new JFrame("A JFrame");
f.setSize(250, 250);
f.setLocation(300,200);
final JTextArea textArea = new JTextArea(10, 40);
f.getContentPane().add(BorderLayout.CENTER, textArea);
final JButton button = new JButton("Click Me");
f.getContentPane().add(BorderLayout.SOUTH, button);
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
textArea.append("Button was clicked\n");
}
});
f.setVisible(true);
}
}
O que tem de fazer é criar o seu texto/código fino (nota Pad++ ou bloco de notas) e recordar o nome.
Então abra um tipo
import java.awt.*;
import javax.swing.*;
Isto basicamente diz ao java para obter java.awt
e javax.swing
das suas várias bibliotecas de códigos que vieram com o java quando o descarregou (compreensível como esta é a linguagem feita para ajudar os programadores).
Então você precisa fazer a sua função que terá tudo do tamanho, texto dentro dele, ect de cor. REMEBER, nós não somos codificando aqui a interface como se já tivesse sido feita quando importámos java.awt.*;
e javax.swing.*
;.
Quando pus public class work
, trabalhar em nome do meu ficheiro (se fosse chamado de código, seria public class code
.
public class work {
private static void createWindow() {
//Create and set up the window
JFrame frame = new JFrame ("simple GUI");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JLabel textLabel = new JLabel("Im cool" ,SwingConstants.CENTER);
textLabel.setPreferredSize(new Dimension(300, 100));
frame.getContentPane().add(textLabel, BorderLayout.CENTER);
//Display the window
frame.setLocationRelativeTo(null);
frame.pack();
frame.setVisible(true);
Lembre-se que você não chamou a função em nenhum lugar, é basicamente esperar lá até que seja chamado.
public static void main(String[] args) {
Isto diz ao computador que o que vier a seguir, tu fazes quando eu executar o programa.
Então, lá dentro tens de pôr
createWindow();
Pois isto é o que tu Chamada sua função acima e está chamando a função, você não precisa chamar esta função como ela faz quando você executa o programa.
Você tem diferentes possibilidades aqui, mas eu recomendaria usar Swing com um IDE como Netbeans, que fornece um editor WYSIWYG muito bom (chamado Matisse).
O Netbeans também tem modelos de projectos que pode usar para iniciar rapidamente.
Finalmente, como outros salientaram, certifique-se de fazer o seu trabalho de casa e ler alguns tutoriais de principiante.Classe De Definição:
public class GetMyJavaWindow {
public static void main (String args[]) {
new JavaWindow();
}
}
Classe JFrame:
import javax.swing.JFrame;
public class JavaWindow { // Class name must match what it says in the def. class
public static final long serialVersionUID = 1L; // Needed for the JFrame to work.
public JavaWindow() { // Must match class name
this.setVisible(true); // Required
this.setDefaultCloseOperation(EXIT_ON_CLOSE); // Required
this.setSize(800,600); // this.setSize (x,y);
}
}
Se precisares de mais ajuda GUI, vem ter comigo.
Http://download.oracle.com/javase/tutorial/uiswing/ (tutoriais do Oráculo) http://www.javabeginner.com/java-swing/java-swing-tutorial
Procurar por "tutoriais Swing Java":)