我希望来自两个不同类的两个图像并排扩展JPanel。
我遇到的问题是两个JPanel应该在JFrame内部,但是当我做framename.add(panel)时,它会替换另一个,而不是并排添加其中两个。
我尝试在主类中添加flowlayout和其他布局,但是没有一个图像显示出来。
所以我的问题是,如果我有两个扩展Jpanel的类,我如何在Jframe中添加这两个面板,以便它们并排(彼此相邻)而不替换另一个面板?
如有任何建议,将不胜感激。
编辑:如果我将JFrame扩展到一个类,该类本身会自动成为JPanel吗?我知道extend意味着什么,但我不确定它在Jframe中是如何工作的。
Main.java
import javax.swing.*;
import java.awt.*;
import java.net.URL;
public class Main
{
public static void main(String[] args)
{
JFrame frame = new JFrame();
Panel1 s = new Panel1(); //picture 1
Panel2 n = new Panel2(); //picture 2
frame.add(n);
frame.add(s); //here is the problem, it replaces the previous panel
f.setSize(200,100);
f.setLocation(0,400);
f.setVisible(true);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Panel1.java
import javax.swing.*;
import java.awt.*;
import java.net.URL;
public class image2 extends JPanel
{
ImageIcon anotherIcon;
public image2() //constructor
{
URL imageURL = Panel1.class.getResource("images/puppy.png");
anotherIcon = new ImageIcon(imageURL);
}
public void paint(Graphics g)
{
super.paintComponent(g);
anotherIcon.paintIcon(this, g, 0, 0);
}
}
Panel2.java
import javax.swing.*;
import java.awt.*;
import java.net.URL;
public class Panel2 extends JPanel
{
ImageIcon anotherIcon2;
public Panel2() //constructor
{
URL imageURL = Panel2.class.getResource("images/puppy2.png");
anotherIcon = new ImageIcon(imageURL);
}
public void paint(Graphics g)
{
super.paintComponent(g);
anotherIcon2.paintIcon(this, g, 0, 0);
}
}
尝试 frame.getContentPane().add(...)
?
并将内容窗格的布局设置为FlowLayout(或其他)
JFrame f = new JFrame("This is a test");
f.setSize(400, 150);
Container content = f.getContentPane();
content.setLayout(new FlowLayout());
content.add(new JButton("Button 1"));
content.add(new JButton("Button 2"));
f.setVisible(true);
JFrame的默认布局管理器是BorderLayout。尝试将其更改为使用GridLayout之类的东西
查看布局管理器的视觉指南以获取更多想法
>
JFrame在API中实现了BorderLayout。
只有一个JComponent可以放在第五个的那个。边界布局中的区域
我希望来自两个不同类的两个图像并排扩展JPanel。
或
我有两件事情要做:在鼠标悬停时突出显示JPanel,在鼠标拖动时移动一个蓝色方块。问题是,这需要我将MouseListeners添加到不同的组件中。当我这样做时,我只能使用一个功能——另一个被阻止了。我该怎么做才能让两个功能都工作? 注意:有时候JFrame不会显示任何东西——你只需要一直运行它,直到它显示为止(通常需要2-3次尝试)。如果它做了任何其他奇怪的事情,就继续运行它,直到它工作。如果之
我觉得我需要稍微重新表述一下这个问题。 更新问题如下。 我有一个包含: 它包含以下三个面板: 具有固定大小“x”和“y”的J面板 没有固定大小的JPanel 没有固定尺寸和小高度的J面板 第二个JGroup包含一个JTable,因此它会扩展以填充整个高度,并按预期将底部面板一直向下推。 像这样: t=顶部面板,m=中间面板,b=底部面板。 这很有效。但底部面板感觉不到填充整个父对象的宽度,这是一个
我一直在使用JFrame进行我的项目,但遇到了一个问题。这是我的代码: 还有,这是我的主要。java: 我想做的是向面板添加文本字段和标签。但是,当我运行此代码时,它会显示:结果 如果我在框架中添加标签和文本字段,效果很好。你能帮我解决这个问题吗?非常感谢你。
我正在尝试将此 JPanel 添加到 JFrame 中,但我看不到他。当我创建新的 java 类并自己制作这个框架时,一切都很好。 来自JFrame表单的代码。 来自 JPanel 的代码: 来自Java类的代码。 我想不出区别在哪里。有人能帮我吗?
问题内容: 我有一个 JFrame 。 我也有一个 Box 类,它扩展了 Component 。该box类具有一个 paint 方法,该方法可以创建一个填充的矩形。 当我将这些Box组件的多个添加到我的JFrame时,当我在JFrame上调用 重绘 时,仅显示最近添加的一个。 我看了一下布局管理器,但是我不确定那不是我想要的。我所希望的是能够在屏幕上的任何位置制作整个矩形的动画。 (我还尝试创建一
我有一个JFrame(黑色)包含一个主JPanel(灰色),这个JPanel包含另外三个JPanels:North和South(红色)以及Center(蓝色)。中央的蓝色JPanel将在程序过程中动态添加大量的JPanel(绿色)。当中心JPanel已满时,我希望一个JScrollbar自动出现,向下滚动中心面板,并看到它包含的所有子(绿色)面板。谁能帮帮我吗?问题是滚动条根本没有出现,如果我在蓝