我的代碼有問題。出于某種原因,它不會顯示我的第二個按鈕 b2,并且我無法設定第一個按鈕的大小。我想讓兩個按鈕在中間并排放置,并在它們周圍留出一些空間。
import java.awt.*;
import java.awt.event.*;
import javax.swing.JFrame;
public class HW10{
Button b1, b2;
L1 l1;
class L1 implements ActionListener{
@Override
public void actionPerformed(ActionEvent e) {
int tmp = Integer.parseInt(b1.getLabel());
tmp ;
b1.setLabel("" tmp);
}
}
public HW10(){
JFrame frame = new JFrame("Homework 15");
l1 = new L1();
b1 = new Button("0");
b2 = new Button("KURAC");
b1.addActionListener(l1);
b1.setBounds(100, 100, 100, 80);
frame.add(b1);
frame.setBounds(200,200,400,400);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
public static void main(String[] args) {
HW10 kk = new HW10();
}
}
uj5u.com熱心網友回復:
嘗試使用 JButton 而不是 Button,如果這不起作用,請使用 jbg ga。extends JFrame如果您希望子類繼承 jframe 類的所有內容,也可以嘗試使用 JFrame ->擴展類。你也必須使用添加它frame.add(button)
uj5u.com熱心網友回復:
第二個按鈕未添加到框架中。您需要致電:
frame.add(b2);
關于按鈕大小,使用.setSize每個按鈕的方法來宣告您希望它們具有的大小。
uj5u.com熱心網友回復:
其他答案是正確的,您根本不添加第二個按鈕,但是,您不應該直接將組件添加到框架中。你想做的是
frame.getContentPane().add(button1);
frame.getContentPane().add(button2);
您還應該為窗格設定布局管理器。
uj5u.com熱心網友回復:
代碼 :
package hw10;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class HW10 {
JButton b1;
JButton b2;
// L1 l1;
/*
class L1 implements ActionListener {
@Override
public void actionPerformed(ActionEvent e) {
// int tmp = Integer.parseInt(b1.getLabel());
int tmp = Integer.parseInt(b1.getText());
tmp ;
// b1.setLabel("" tmp);
b1.setText(Integer.toString(tmp));
}
}
*/
public HW10() {
JFrame frame = new JFrame("Homework 15");
// l1 = new L1();
b1 = new JButton("0");
// b1.setSize(100, 40);
b2 = new JButton("KURAC");
// b2.setSize(100, 40);
/*
We can use lambda expressions
*/
b1.addActionListener((ActionEvent e) -> {
int tmp = Integer.parseInt(b1.getText());
tmp ;
b1.setText(Integer.toString(tmp));
});
//Use GridBagLayout as your layout manager
GridBagLayout layout = new GridBagLayout();
JPanel panel = new JPanel();
panel.setLayout(layout);
GridBagConstraints c = new GridBagConstraints();
c.insets = new Insets(2, 2, 2, 2);
//0th row
c.gridx = 0;
//0th column
c.gridy = 0;
//width
c.ipadx = 100;
//height
c.ipady = 30;
//Adding first button
panel.add(b1, c);
//1st column we
c.gridx = 1;
//Adding second button
panel.add(b2, c);
frame.add(panel);
frame.setSize(400, 400);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
public static void launch() {
SwingUtilities.invokeLater(() -> {
new HW10();
});
}
public static void main(String... $) {
launch();
}
}
輸出 :

資源:
極客
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/407430.html
標籤:
上一篇:更新T-SQL中的XML列
