Java 将现有功能附加到面板
大家早上好。 我正在使用Netbeans IDE,我在我的Java 将现有功能附加到面板,java,swing,jpanel,paint,Java,Swing,Jpanel,Paint,大家早上好。 我正在使用Netbeans IDE,我在我的jFrame中创建了一个Jpanel1,只需拖放即可,但我不想在这个Jpanel1上附加一个新函数,该函数将覆盖其绘制方法。 因为如果我用 jPanel Jpanel1 = new jPanel(){ } 我可以重写paint方法,但使用拖放方式我不知道该怎么做 谢谢如果您使用netbeans ide制作jFrame使用拖放它会自动在以下位置生成源代码: private void initComponents(
jFrame
中创建了一个Jpanel1
,只需拖放即可,但我不想在这个Jpanel1
上附加一个新函数,该函数将覆盖其绘制方法。
因为如果我用
jPanel Jpanel1 = new jPanel(){
}
我可以重写paint方法,但使用拖放方式我不知道该怎么做
谢谢如果您使用
netbeans ide
制作jFrame
使用拖放
它会自动在以下位置生成源代码:
private void initComponents() {
//auto generates code here
}
只需右键单击Design
选项卡下的jPanel
并进入properties
菜单,即可满足您的需求
有关更多详细信息,请参阅
阅读您对问题的评论后更新:
- 要更改背景颜色,请执行以下操作: 进入,属性->在背景上单击右侧并根据需要更改颜色
- 要添加边框,请执行以下操作:
只需转到
border
- 定尺寸
同样,您可以更改
preferredSize
- 添加事件
进入属性的
选项卡,并根据需要进行更改Events
- 要使用诸如
、textField
等组件,您可以从调色板拖放,该调色板主要位于progressBar
选项卡的右侧jFrame设计
public
修饰符创建一个扩展JPanel
的自定义面板
类,并为其指定自定义名称。然后覆盖paintComponent(Graphics)
函数,使用Graphics g
将自定义绘制代码放入该函数中。例如:
public class CustomPanel extends JPanel{
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
// custom painting code
}
}
现在,在NetBeans中:
CustomPanel.java
class选项卡时,转到
Tools-> Click Add To Pallete -> Select Swing Containers -> click Ok
然后,您应该能够从左侧表单导航面板将其添加到表单中,如下图所示:即使使用拖放操作,代码仍然在后台生成。找到该代码并根据需要进行更改;setBackground(新java.awt.Color(255、255、255));setboorder(javax.swing.BorderFactory.createBevelOrder(0));setPreferredSize(新的java.awt.Dimension(600700));addMouseListener(新java.awt.event.MouseAdapter(){public void mousePressed(java.awt.event.MouseEvent evt){jpanelmousepressed(evt);}});addMouseMotionListener(新增,我无法修改代码的这一部分,但我找不到像paint或onpaint这样的平衡或适当方式来重新定义此函数,但覆盖paint(jGraphics g)如何方法??对于我在“事件”选项卡中知道的其他事件,但没有绘制…@RiadSaadi我仍然无法得到您的问题。如果您想使用
mousePressed
事件。右键单击组件并转到events
->mousePressed
,然后单击EmousePressed
,它将转到源代码,然后您可以添加您的代码进一步处理的逻辑。您不需要过度评估
任何netbeans自动过度评估或询问的方法(如果需要)。@RiadSaadi,您还没有解释您已撤销接受我的回答。这与接受无关,但当您撤销时,您至少应该提到原因。对不起,我将在这一天向clair道歉ime,我知道如何像你对我说的那样添加事件,添加事件是对抽象MouseEvent的重写,但是如果我想重写方法paint、NoMouseClicked或mousedown或其他,我想在paint方法中编写代码,就像我对mouseclicked事件所做的那样