Java 如何使“下一帧”按钮转到下一帧?桂
如何使“下一步”按钮转到此GUI中的下一帧?我需要将其放在我可以单击“下一步”显示20多个详细信息的位置:Java 如何使“下一帧”按钮转到下一帧?桂,java,user-interface,Java,User Interface,如何使“下一步”按钮转到此GUI中的下一帧?我需要将其放在我可以单击“下一步”显示20多个详细信息的位置: import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; public class FilledFrameViewer { public static void main(String[] args) {
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class FilledFrameViewer
{
public static void main(String[] args)
{
JFrame frame = new JFrame();
/*JButton button = new JButton*/
JButton nextButton = new JButton("NEXT");
JLabel label = new JLabel("Frame 1.");
JPanel panel = new JPanel();
panel.add(nextButton);
panel.add(label);
frame.add(panel);
final int FRAME_WIDTH = 300;
final int FRAME_HEIGHT = 100;
frame.setSize(FRAME_WIDTH, FRAME_HEIGHT);
frame.setTitle("A frame with two components");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
如果要隐藏或显示框架,可以这样使用 JFrame f1=新JFrame(“第1帧”); JFrame f2=新的JFrame(“第2帧”) 要隐藏f1,请调用f1.setVisible(false);
要显示f2,请调用f2.setVisible(true) 有点不清楚。是否要将JButton移动到另一个JFrame?我认为如果没有动态规划之类的东西(我想是吧?),你是无法做到这一点的 您应该浏览Oracle的Swing组件教程 并查看您的评论。我同意拥有多个JFrame是一个坏习惯 编辑 使用eventlistner(请参阅其他答案)并使其遵循开关案例?然后,您可以让它像对话框一样显示,或者在JFrame中更改JLable 对话框教程:。 我认为你应该用一个标签,改变它的文字
JButton nextButton = new JButton("Next");
nextButton.addActionListener(new ActionListner(
private int counter = 0;
public void actionPerformed(ActionEvent e) {
counter++;
switch(counter){
case 1: somelable.setText("Your text here");
};
}));
我是徒手写的,但我想类似的东西会有用吗?你必须在下一帧中编辑代码。。。 下一帧的示例
public class NextFrame
public static void main(String[] args)
{
private static FilledFrameViewer parentFrame; //ADD THIS FOR CONNECTION TO FIRST FRAME
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
NextFrame frame = new NextFrame(null); //CHANGES MADE HERE
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
public NextFrame(FilledFrameViewer f) { //CHANGES MADE HERE
this.parentFrame = f; //CHANGES MADE HERE
setTitle("Personal Assistant");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
啊,是的……而且你还必须在“下一步”按钮中添加一些内容 例如:
btnNext = new JButton();
btnNext.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
goNext();
{
private void goNext(){
NextFrame nextframe= new NextFrame(null);
nextframe.setVisible(true);
}
}
});
嗯,你可以在你的问题中插入一些代码,看看问题出在哪里。我没有太多,这就是为什么我是stuckWait,在问题中插入这个。不在评论中。你有一个问题下面的编辑按钮,使用多个JFrame,好/坏的做法?不,我想要的是,当我单击“下一步”时,它将转到下一个jframe并显示其他人的信息。你不应该有很多jframe!Gilbert Le Blanc已经指出了这一点!是的,但我的问题是使用下一个框架。然后我想你必须定制20个JFrames,每个JFrames都有一个next按钮,添加一个actionlistener,创建一个新的JFrames(行中的下一个)并隐藏当前的JFrames