Java 如何显示插入主面板内子面板中的jbutton?
我似乎做得不对。代码没有任何语法错误,但它没有显示我想要显示的内容。这是我写的代码。事先谢谢你的帮助。我想在gamepanel(子面板)中显示图像按钮。。那里应该有9个按钮,但没有显示。框架是灰色的。我不知道如何让子面板显示Java 如何显示插入主面板内子面板中的jbutton?,java,swing,jbutton,Java,Swing,Jbutton,我似乎做得不对。代码没有任何语法错误,但它没有显示我想要显示的内容。这是我写的代码。事先谢谢你的帮助。我想在gamepanel(子面板)中显示图像按钮。。那里应该有9个按钮,但没有显示。框架是灰色的。我不知道如何让子面板显示 import javax.swing.*; import java.awt.*; import java.awt.event.*; public class midterm extends JFrame { JPanel mainpanel; JButto
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class midterm extends JFrame
{
JPanel mainpanel;
JButton image1=new JButton();
JButton image2=new JButton();
JButton image3=new JButton();
JButton image4=new JButton();
JButton image5=new JButton();
JButton image6=new JButton();
JButton image7=new JButton();
JButton image8=new JButton();
JButton image9=new JButton();
JLabel text=new JLabel("Please select a photo above.");
public midterm()
{
super("Girls' Generation - I GOT A BOY 4th Korean Album");
setSize(700,700);
setLocation(200,30);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
setResizable(false);
panel();
}
public static void main(String[] args)
{
midterm frame=new midterm();
}
void panel()
{
mainpanel=new JPanel();
mainpanel.setLayout(new BorderLayout());
JPanel gamepanel=new JPanel();
gamepanel.setBorder(BorderFactory.createTitledBorder("Photo Puzzle"));
gamepanel.setLayout(new GridLayout(3,3));
ImageIcon sica = new ImageIcon("jung.jpg");
image1.setBorder(BorderFactory.createLineBorder(Color.blue));
image1.setIcon(sica);
image1.setSize(200,200);
image1.setVisible(true);
image1.setToolTipText("Jessica Jung Sooyeon");
gamepanel.add((image1));
ImageIcon yuri = new ImageIcon("kwon.jpg");
image2.setIcon(yuri);
image2.setSize(200,200);
image2.setVisible(true);
image2.setToolTipText("Kwon Yuri");
gamepanel.add(image2);
ImageIcon tiff = new ImageIcon("hwang.jpg");
image3.setIcon(tiff);
image3.setSize(200,200);
image3.setVisible(true);
image3.setToolTipText("Tiffany Hwang Miyoung");
gamepanel.add(image3);
ImageIcon sunny = new ImageIcon("lee.jpg");
image4.setIcon(sunny);
image4.setSize(200,200);
image4.setVisible(true);
image4.setToolTipText("Sunny Lee Sunkyu");
gamepanel.add(image4);
ImageIcon soo = new ImageIcon("choi.jpg");
image5.setIcon(soo);
image5.setSize(200,200);
image5.setVisible(true);
image5.setToolTipText("Choi Sooyoung");
gamepanel.add(image5);
ImageIcon hyo = new ImageIcon("kimh.jpg");
image6.setIcon(hyo);
image6.setSize(200,200);
image6.setVisible(true);
image6.setToolTipText("Kim Hyoyeon");
gamepanel.add(image6);
ImageIcon yoona = new ImageIcon("im.jpg");
image7.setIcon(yoona);
image7.setSize(200,200);
image7.setVisible(true);
image7.setToolTipText("Im Yoona");
gamepanel.add(image7);
ImageIcon taeng = new ImageIcon("kimt.jpg");
image8.setIcon(taeng);
image8.setSize(200,200);
image8.setVisible(true);
image8.setToolTipText("Kim Taeyeon");
gamepanel.add(image8);
ImageIcon hyunnie = new ImageIcon("seo.jpg");
image9.setIcon(hyunnie);
image9.setSize(200,200);
image9.setVisible(true);
image9.setToolTipText("Seohyun Seo Juhyun");
gamepanel.add(image9);
JPanel controls = new JPanel();
controls.setLayout(new BorderLayout());
controls.setBorder(BorderFactory.createTitledBorder("Control"));
JButton newGame = new JButton("New Game");
controls.add(newGame, BorderLayout.NORTH);
JButton exitGame = new JButton("Exit");
controls.add(exitGame, BorderLayout.SOUTH);
mainpanel.add(gamepanel, BorderLayout.CENTER);
mainpanel.add(controls, BorderLayout.EAST);
process jj = new process();
image1.addActionListener(jj);
image2.addActionListener(jj);
image3.addActionListener(jj);
image4.addActionListener(jj);
image5.addActionListener(jj);
image6.addActionListener(jj);
image7.addActionListener(jj);
image8.addActionListener(jj);
image9.addActionListener(jj);
}
class process implements ActionListener
{
public void actionPerformed (ActionEvent e)
{
if(e.getSource().equals(image1))
{
image2.setVisible(false);
image3.setVisible(false);
image4.setVisible(false);
image5.setVisible(false);
image6.setVisible(false);
image7.setVisible(false);
image8.setVisible(false);
image9.setVisible(false);
text.setVisible(false);
}
else if(e.getSource().equals(image2))
{
image1.setVisible(false);
image3.setVisible(false);
image4.setVisible(false);
image5.setVisible(false);
image6.setVisible(false);
image7.setVisible(false);
image8.setVisible(false);
image9.setVisible(false);
text.setVisible(false);
}
else if(e.getSource().equals(image3))
{
image2.setVisible(false);
image1.setVisible(false);
image4.setVisible(false);
image5.setVisible(false);
image6.setVisible(false);
image7.setVisible(false);
image8.setVisible(false);
image9.setVisible(false);
text.setVisible(false);
}
else if(e.getSource().equals(image4))
{
image2.setVisible(false);
image3.setVisible(false);
image1.setVisible(false);
image5.setVisible(false);
image6.setVisible(false);
image7.setVisible(false);
image8.setVisible(false);
image9.setVisible(false);
text.setVisible(false);
}
else if(e.getSource().equals(image5))
{
image2.setVisible(false);
image3.setVisible(false);
image4.setVisible(false);
image1.setVisible(false);
image6.setVisible(false);
image7.setVisible(false);
image8.setVisible(false);
image9.setVisible(false);
text.setVisible(false);
}
else if(e.getSource().equals(image6))
{
image2.setVisible(false);
image3.setVisible(false);
image4.setVisible(false);
image5.setVisible(false);
image1.setVisible(false);
image7.setVisible(false);
image8.setVisible(false);
image9.setVisible(false);
text.setVisible(false);
}
else if(e.getSource().equals(image7))
{
image2.setVisible(false);
image3.setVisible(false);
image4.setVisible(false);
image5.setVisible(false);
image6.setVisible(false);
image1.setVisible(false);
image8.setVisible(false);
image9.setVisible(false);
text.setVisible(false);
}
else if(e.getSource().equals(image8))
{
image2.setVisible(false);
image3.setVisible(false);
image4.setVisible(false);
image5.setVisible(false);
image6.setVisible(false);
image7.setVisible(false);
image1.setVisible(false);
image9.setVisible(false);
text.setVisible(false);
}
else if(e.getSource().equals(image9))
{
image2.setVisible(false);
image3.setVisible(false);
image4.setVisible(false);
image5.setVisible(false);
image6.setVisible(false);
image7.setVisible(false);
image8.setVisible(false);
image1.setVisible(false);
text.setVisible(false);
}
}
}
}
主要问题是您没有将显示面板添加到
JFrame
使用Swing
时,需要将其添加到内容窗格中
之后,您需要调用pack()
这将调整窗格的大小,并使其中的所有内容都“适合”
调用setVisible(true)
last不是必需的,但这是一种很好的做法
我总是觉得这很有帮助
公共期中考试()
{
超级(“女孩的一代-我得到了一张男孩的第四张韩国专辑”);
设置大小(700700);
设置位置(200,30);
setDefaultCloseOperation(关闭时退出);
可设置大小(假);
面板();
此.getContentPane().add(mainpanel);//主要问题是您没有将显示面板添加到JFrame
使用Swing
时,需要将其添加到内容窗格中
之后,您需要调用pack()
这将调整窗格的大小,并使其中的所有内容都“适合”
调用setVisible(true)
last不是必需的,但这是一种很好的做法
我总是觉得这很有帮助
公共期中考试()
{
超级(“女孩的一代-我得到了一张男孩的第四张韩国专辑”);
设置大小(700700);
设置位置(200,30);
setDefaultCloseOperation(关闭时退出);
可设置大小(假);
面板();
这个.getContentPane().add(mainpanel);//您永远不会将mainpanel
添加到JFrame
中。还要确保在添加所有组件后调用JFrame.setVisible(true)
。您永远不会将mainpanel
添加到JFrame
中。还要确保调用JFrame.setVisible(true)
添加所有组件后。只需将Jpanel(mainpanel)添加到Jframe中即可
panel();
this.getContentPane().add(mainpanel);
setVisible(true);
只需将Jpanel(mainpanel)添加到Jframe中即可
panel();
this.getContentPane().add(mainpanel);
setVisible(true);
也许一个截图会有帮助。也许一个截图会有帮助。非常感谢!它成功了!:)我是一个初学者,谢谢你。谢谢你。我正在尝试制作一个图片拼图,我仍在寻找如何做…)无论如何,这是一个很大的帮助。再次感谢你you@arnelyn愿意接受对你帮助最大的答案吗?)谢谢非常感谢!它成功了!:)我是一个初学者,谢谢你。谢谢你。我正在尝试制作一个图片拼图,我仍在探索如何制作。无论如何,这是一个很大的帮助。再次感谢你you@arnelyn愿意接受对您帮助最大的答案吗;)show
已被弃用,并且在将来的版本中可能会删除我的内容,您应该使用setVisible(true)
取而代之的是…show
已被弃用,并且在将来的版本中可能会删除my,您应该使用setVisible(true)
取而代之。。。