卡片布局 java 运行时错误
cardlayout java runtime error
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Choice extends JDialog{
private JPanel panelMain;
private JButton btnPurchase;
private JButton btnRefund;
private JPanel cards;
final static String MainPage = "Main Page";
final static String PurchasePage = "Purchase Page";
final static String RefundPage = "Refund Page";
public Choice() {
setContentPane(panelMain);
setModal(true);
//getRootPane().setDefaultButton(buttonOK);
cards = new JPanel(new CardLayout());
cards.add(new Choice().ChoiceGUI(), MainPage);
cards.add(new Purchase().PurchaseGUI(), PurchasePage);
final CardLayout cl = (CardLayout) cards.getLayout();
cl.show(cards, MainPage);
btnPurchase.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
cl.show(cards, PurchasePage);
}
});
btnRefund.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//refund click function
}
});
}
public JPanel ChoiceGUI (){
return panelMain;
}
public static void main(String[] args){
Choice dialog = new Choice();
dialog.pack();
dialog.setVisible(true);
System.exit(0);
}
}
那是 Choice.java 下面是 Purchase.java
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Purchase extends Choice{
private JPanel panelPurchase;
private JLabel lblamnt;
private JButton btn1;
private JButton btn2;
private JButton btn3;
private JButton btn4;
private JButton btn5;
private JButton btn6;
private JButton btn7;
private JButton btn8;
private JButton btn9;
private JButton btn0;
private JButton btnClear;
private JButton btnSubmit;
/*
public Purchase(){
btn1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
lblamnt.setText(lblamnt.getText() + "1");
}
});
btn2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
lblamnt.setText(lblamnt.getText() + "2");
}
});
btn3.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
lblamnt.setText(lblamnt.getText() + "3");
}
});
btn4.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
lblamnt.setText(lblamnt.getText() + "4");
}
});
btn5.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
lblamnt.setText(lblamnt.getText() + "5");
}
});
btn6.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
lblamnt.setText(lblamnt.getText() + "6");
}
});
btn7.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
lblamnt.setText(lblamnt.getText() + "7");
}
});
btn8.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
lblamnt.setText(lblamnt.getText() + "8");
}
});
btn9.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
lblamnt.setText(lblamnt.getText() + "9");
}
});
btn0.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
lblamnt.setText(lblamnt.getText() + "0");
}
});
btnClear.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
lblamnt.setText("");
}
});
btnSubmit.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//run code to confirm and show next screen to display current currency exchange.
}
});
}
*/
public JPanel PurchaseGUI(){
return panelPurchase;
}
}
我收到大量重复错误。我还在学习如何使用卡片布局。
程序运行时出现这些错误。它编译得很好。
Exception in thread "main" java.lang.WhosebugError
at java.awt.Window.init(Window.java:507)
at java.awt.Window.<init>(Window.java:436)
at java.awt.Window.<init>(Window.java:591)
at java.awt.Dialog.<init>(Dialog.java:665)
at java.awt.Dialog.<init>(Dialog.java:409)
at javax.swing.JDialog.<init>(JDialog.java:272)
at javax.swing.JDialog.<init>(JDialog.java:206)
at javax.swing.JDialog.<init>(JDialog.java:154)
at src.Choice.<init>(Choice.java:18)
at src.Choice.<init>(Choice.java:23) (repeating)
Exception in thread "main" Exception in thread "main"
我重做了 purchase.java 以包含一个 GETTER
并且 Choice.java 错误位于
public Choice() {
和...
cards.add(new Choice().ChoiceGUI(), MainPage);
我做错了什么?卡在这里一整天都没有进展
我正在尝试设置它,所以当我按下购买按钮时,它会在同一个 window.
中加载购买表格
看到没有人回答这个问题,我不得不弄清楚。我做了卡片布局,不得不更改设计。
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Choice extends JDialog{
private JPanel panelMain;
private JButton btnPurchase;
private JButton btnRefund;
private JPanel cards;
final static String MainPage = "Main Page";
final static String PurchasePage = "Purchase Page";
final static String RefundPage = "Refund Page";
public Choice() {
setContentPane(panelMain);
setModal(true);
//getRootPane().setDefaultButton(buttonOK);
cards = new JPanel(new CardLayout());
cards.add(new Choice().ChoiceGUI(), MainPage);
cards.add(new Purchase().PurchaseGUI(), PurchasePage);
final CardLayout cl = (CardLayout) cards.getLayout();
cl.show(cards, MainPage);
btnPurchase.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
cl.show(cards, PurchasePage);
}
});
btnRefund.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//refund click function
}
});
}
public JPanel ChoiceGUI (){
return panelMain;
}
public static void main(String[] args){
Choice dialog = new Choice();
dialog.pack();
dialog.setVisible(true);
System.exit(0);
}
}
那是 Choice.java 下面是 Purchase.java
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Purchase extends Choice{
private JPanel panelPurchase;
private JLabel lblamnt;
private JButton btn1;
private JButton btn2;
private JButton btn3;
private JButton btn4;
private JButton btn5;
private JButton btn6;
private JButton btn7;
private JButton btn8;
private JButton btn9;
private JButton btn0;
private JButton btnClear;
private JButton btnSubmit;
/*
public Purchase(){
btn1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
lblamnt.setText(lblamnt.getText() + "1");
}
});
btn2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
lblamnt.setText(lblamnt.getText() + "2");
}
});
btn3.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
lblamnt.setText(lblamnt.getText() + "3");
}
});
btn4.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
lblamnt.setText(lblamnt.getText() + "4");
}
});
btn5.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
lblamnt.setText(lblamnt.getText() + "5");
}
});
btn6.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
lblamnt.setText(lblamnt.getText() + "6");
}
});
btn7.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
lblamnt.setText(lblamnt.getText() + "7");
}
});
btn8.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
lblamnt.setText(lblamnt.getText() + "8");
}
});
btn9.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
lblamnt.setText(lblamnt.getText() + "9");
}
});
btn0.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
lblamnt.setText(lblamnt.getText() + "0");
}
});
btnClear.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
lblamnt.setText("");
}
});
btnSubmit.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//run code to confirm and show next screen to display current currency exchange.
}
});
}
*/
public JPanel PurchaseGUI(){
return panelPurchase;
}
}
我收到大量重复错误。我还在学习如何使用卡片布局。
程序运行时出现这些错误。它编译得很好。
Exception in thread "main" java.lang.WhosebugError
at java.awt.Window.init(Window.java:507)
at java.awt.Window.<init>(Window.java:436)
at java.awt.Window.<init>(Window.java:591)
at java.awt.Dialog.<init>(Dialog.java:665)
at java.awt.Dialog.<init>(Dialog.java:409)
at javax.swing.JDialog.<init>(JDialog.java:272)
at javax.swing.JDialog.<init>(JDialog.java:206)
at javax.swing.JDialog.<init>(JDialog.java:154)
at src.Choice.<init>(Choice.java:18)
at src.Choice.<init>(Choice.java:23) (repeating)
Exception in thread "main" Exception in thread "main"
我重做了 purchase.java 以包含一个 GETTER
并且 Choice.java 错误位于
public Choice() {
和...
cards.add(new Choice().ChoiceGUI(), MainPage);
我做错了什么?卡在这里一整天都没有进展
我正在尝试设置它,所以当我按下购买按钮时,它会在同一个 window.
中加载购买表格看到没有人回答这个问题,我不得不弄清楚。我做了卡片布局,不得不更改设计。