Saat saya mencoba menambahkan JButton dan JLabel ke dalam JFrame, keduanya saling bertentangan di mana semua JButton akan hilang dan hanya JLabel yang terlihat. JLabel karena alasan tertentu akan mengarah ke sisi paling kiri JFrame alih-alih ke lokasi yang diinginkan yang saya atur. Saya baru mengenal materi terkait GUI dan saya bersedia belajar dari kesalahan ini.
Ini kode saya:
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
public class Windowb extends JFrame{
static String title = "This is a JFrame";
static int width = 500;
static int height = 400;
private static final int BUTTON_LOCATION_X = 46;
private static final int BUTTON_LOCATION_Y = 80;
public static void main(String[]args){
Windowb simple = new Windowb(title, width, height);
JPanel p = new JPanel();
p.setLayout(null);
JLabel c1 = new JLabel("Name: ");
JButton b1 = new JButton("Name:");
JButton b2 = new JButton("Grade:");
JButton b3 = new JButton("GPA");
b1.setBounds(BUTTON_LOCATION_X, BUTTON_LOCATION_Y, 90, 20);
b2.setBounds(50, 170, 90, 20);
b3.setBounds(50, 240, 90, 20);
c1.setLocation(100, 250);
b1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
JOptionPane.showMessageDialog(null, "ActionListener is working!");
}
});
b2.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
JOptionPane.showMessageDialog(null, "The second one works too!");
}
});
b3.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
JOptionPane.showMessageDialog(null, "Surprise!");
}
});
p.add(b1);
p.add(b2);
p.add(b3);
simple.add(p);
simple.add(c1);
}
public Windowb(String t, int w, int h){
setVisible(true);
setResizable(true);
setSize(w, h);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setLocation(500, 100);
setTitle(t);
}
}
setBounds
. periksab1,b2,b3
batas set Anda. Juga jangan mencoba menggunakan tata letak nol, melainkan teruslah berlatih dengan pengelola tata letak lain yang disediakan oleh Java. docs.Oracle.com/javase/tutorial/uiswing/layout/using. html - person Vighanesh Gursale   schedule 21.03.2015Windowb
. Anda mencoba menambahkan komponen pada objeksimple
milikWindowb
. Harap ikuti beberapa aturan sederhana dalam menambahkan komponen. Silakan baca artikel ini docs.Oracle.com/javase/tutorial/uiswing/ mulai/index.html - person Vighanesh Gursale   schedule 21.03.2015