public void gameRender() {
if( dbImage == null ) {
dbImage = createImage( dbWIDTH, dbHEIGHT );
if( dbImage == null )
return;
}
//else
dbg = dbImage.getGraphics();
dbg.setColor( Color.white );
dbg.fillRect( 0, 0, dbWIDTH, dbHEIGHT );
dbg.setColor( Color.black );
这段代码来自试图创建JPanel子类的对象的JFrame子类(JPanel子类称为WalkAndJump3)。
wj = new WalkAndJump3();
Container c = getContentPane();
c.setLayout( new FlowLayout() );
c.add( wj );
我试图通过重写paintComponent来做我在JPanel子类中所做的事情,但它不起作用,我确实将WalkAndJump3 wj声明为实例变量,所以第一行应该没有问题。怎么了?同样,问题是绘制的矩形太小,位置不合适。
它很小,因为您有FlowLayout(c.setLayout(new FlowLayout()))作为面板的容器(container c=getContentPane())布局。这意味着您添加到容器中的所有组件都将“一个接一个”对齐(实际上这是一个流:),它们的最小大小是默认的。在你的情况下-最小尺寸几乎为零,我猜。
有两个选项:
1。不是最好的方法--在JPanel上使用setPreferredSize(Dimension)强制扩展
2。好的一个-使用适当的布局来拉伸整个容器大小的面板,如下所示:
c.setLayout( new BorderLayout() );
这将有所帮助,但我强烈建议您阅读关于布局如何工作的Swing介绍:http://docs.oracle.com/javase/tutorial/uiswing/layout/using.html
我创建了一个JPanel,上面有我需要的所有JRadioButtons(称为PortSettings)。我还有一个按钮,叫做端口设置,当用户单击该按钮时,我需要JPanel上来显示单选按钮。我尝试将JPanel添加到actionlistener中,但没有效果。我的代码在下面。除了portsettings按钮之外,我已经从其他按钮中删除了所有其他ActionListener。如果这个问题让人困惑,我
问题内容: 我有一个gui,它的Panel包含一系列标签和TextField,并使用spring布局(这是mainPanel),而另一个Panel仅包含button(buttonPanel)。我正在尝试使我的mainPanel也具有垂直滚动条。我想实现我的GUI,以便在JFrame中有2个面板。mainPanel出现在框架的顶部,而buttonPanel出现在mainPanel的下方。 我的问题是
我正在尝试将此 JPanel 添加到 JFrame 中,但我看不到他。当我创建新的 java 类并自己制作这个框架时,一切都很好。 来自JFrame表单的代码。 来自 JPanel 的代码: 来自Java类的代码。 我想不出区别在哪里。有人能帮我吗?
我正在创建一个swing应用程序,并希望将JfreeChart添加到JPanel中。我创建了一个方法,在该方法中我创建了如下所示的图表: 创建了一个全局变量: 由于某种原因,当我点击按钮时,图表没有显示出来。
我目前有一个主JFrame包含几个JPanels,每个面板中都有一些文本。创建JPanels的代码在一个单独的类中(它“实现”JPanels)。如何仅向单个面板添加JScrollPane? 我已经花了一些时间尝试这样做,但什么也没有发生。顺便说一下,我的JPanel使用GridLayout 上面的类是另一个面板类的实例变量,它是主面板“MenuHold”的实例变量。但使用“MenuHolder”的
我想在FlowLayout和GridBagLayout之间进行权衡。简而言之,我有一些组件要添加到我的JPanel中(我不知道有多少,这是在运行时创建的),我希望这些组件垂直居中。FlowLayout非常适合我的目标,但它在JPanel的顶部添加了组件。所以,我决定使用GridBagConstraints,正如有人在这里建议的那样(Java layout manager垂直中心),但这个解决方案的