Come creare una GUI in Java
Ho usato Java per un po ' di tempo, ma non ho mai creato una GUI - sempre CLI. Come si crea una GUI in Java? Puoi suggerire un buon tutorial / riferimento?
Sto cercando di creare una semplice GUI con due lunghe aree di testo e alcuni pulsanti.
7 answers
Ecco un semplice esempio
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);
}
}
Bene, quello che devi fare è creare il tuo testo/codice sottile (Blocco note++ o blocco note) e ricordare il nome.
Quindi aprilo un tipo
import java.awt.*;
import javax.swing.*;
Questo fondamentalmente dice a java di ottenere java.awt
e javax.swing
dalle sue varie librerie di codice fornite con java quando lo hai scaricato (Comprensibile in quanto si tratta di un linguaggio creato per aiutare gli sviluppatori).
È quindi necessario rendere la vostra funzione che avrà tutto dalla dimensione, testo al suo interno, colore ect. RICORDA, non stiamo codificando la gui qui come è stato già fatto quando abbiamo importato import java.awt.*;
e javax.swing.*
;.
Quando metto public class work
,Lavoro nel nome del mio archivio (se fosse chiamato codice sarebbe 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);
Ricorda che non hai chiamato la funzione da nessuna parte, in pratica aspetta lì finché non viene chiamata.
public static void main(String[] args) {
Questo dice al computer che ciò che viene dopo, lo fai quando eseguo il programma.
Quindi dentro devi mettere
createWindow();
Come questo è ciò che hai chiamato la tua funzione sopra e sta chiamando la funzione, non è necessario chiamare questa funzione come lo fa quando si esegue il programma.
Hai diverse possibilità qui, ma ti consiglio di usare Swing con un IDE come Netbeans, che fornisce un ottimo editor WYSIWYG (chiamato Matisse).
Netbeans ha anche modelli di progetto che è possibile utilizzare per iniziare rapidamente.
Infine, come altri hanno sottolineato, assicuratevi di fare i compiti e leggere alcuni tutorial Swing principianti.
Creare un JFrame non è così difficile come la gente pensa, tutto ciò di cui hai bisogno è una classe definition e una classe GUI. È una delle cose più semplici in Java
Classe di definizione:
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 hai bisogno di altro aiuto GUI, vieni da me.
Http://download.oracle.com/javase/tutorial/uiswing / (Tutorial da Oracle) http://www.javabeginner.com/java-swing/java-swing-tutorial
Cerca "Tutorial Java Swing":)