本人软件工程专业大二dog一条java初学者,菜鸟一个。最近学习做了xp画图板,在设置JPanel的大小的时候,用到了setPreferredSize方法,旁边的同学问我,不可以用setSize()方法吗?我就说你查下javaAPI,JPanel没有setSize()这个方法肯定是不能用的,我其实也没考虑太多,老师是用的setPreferredSize,而没有用setSize,而且之后老师说不能用setSize方法,大概应该JPanel里没有setSize()这个方法吧,回去后我还是查了API,发现JPanel类居然有2个setSize()方法,不禁纳闷,为什么明明有setSize而不能用呢?于是乎,我便用这2个setSize()方法设置了面板的大小,但是发现无论如何改变setSize()的参数,或者注释掉这setSize方法,其宽度高度均不发生任何改变,为窄窄的一条且不发生改变,,由此确认了不能用setSize方法设置,但为什么不能设置?我上网查阅了资料,很快了解原因,setSize()是手动设置组建的大小。Dimension类封装对象中组建的宽度和高度(精确到整数)。实用布局管理器时,必须使用setPreferredSize设置组件的大小 ,在使用布局管理器的时候(BorderLayout layout =new BorderLayout();jf.setLayout(layout);前面指定了窗口的布局为边框布局),不适用setSize(),因为布局管理器会自动调用组件的setSize()方法设置组件的大小。即时用户调用 setSize方法设置组件大小,最终可能被覆盖
分享到:
相关推荐
总之,通过自定义JPanel或Container的paintComponent方法,我们可以灵活地设置组件的背景图片,从而实现丰富的视觉效果。这在开发Java Swing应用时非常有用,特别是在创建具有个性化的GUI界面时。同时,注意图片的...
在`AutojustChildPanel`中,可能重写了`JPanel`的`reshape`、`doLayout`或`validate`方法,以确保在尺寸改变时能正确处理组件的布局。 自适应布局的关键在于当窗口或容器的大小发生变化时,能够动态地重新计算和...
Java的标准库并未提供直接在`JPanel`上设置背景图片的方法,但是通过自定义`JPanel`并重绘组件,我们可以实现这个功能。描述中提到的解决方案可能是通过网上搜索到的一种实现方式,旨在帮助那些尚未找到相应方法的...
这两个示例展示了不同的方法来为`JPanel`设置背景图片。第一种适用于图片大小与面板大小相当的情况,而第二种则适合于需要填充整个面板的场景。在实际开发中,可以根据需求选择合适的方式。记得在使用图片时,要确保...
2. **使用中间容器**:创建一个 `JPanel` 或 `JDesktopPane` 等作为中间容器,将组件添加到这个中间容器,然后使用 `setContentPane()` 方法将这个中间容器设置为 `JFrame` 的 `content pane`。如: ```java ...
`JPanel` 是 Swing 中一个非常基础且重要的组件,属于容器类,可以用来组织其他组件,如按钮、文本框等。在 Swing 应用程序中,`JPanel` 经常被用作内容面板或者自定义组件的容器。 1. **JPanel 的概述** `JPanel`...
JPanel可以使用不同的布局管理器,以便根据需求灵活地调整组件的位置和大小。本实例将探讨如何在Swing应用中实现多个JPanel布局的切换。 首先,我们需要了解Swing中的布局管理器。Swing提供了多种布局管理器,如...
开发者可以通过设置JFrame的大小、位置、边框、背景色等属性来定制窗口外观,并通过add()方法添加其他组件到JFrame上。 JPanel是Swing中另一个重要的组件,它是一个空白容器,可以用来放置其他的组件或者绘制自定义...
例如,可以使用 setBackground() 方法设置 JPanel 的背景色,使用 setSize() 方法设置 JPanel 的大小。 例如,在窗体中添加一个蓝色的面板: ```java JPanel p = new JPanel(); p.setBackground(Color.BLUE); p.set...
总之,卸载JPanel面板涉及的主要步骤是:找到JPanel所在的容器,调用`remove()`方法移除JPanel,然后通过`revalidate()`和`repaint()`更新显示。在实际编程中,还需要考虑布局管理、事件处理以及容器层次结构等因素...
例如,在`Border`类中,我们创建了五个JButton,并分别设置它们在五个方向的位置。这样,按钮会按照指定的边界布局规则分布,如“中”位于中心,“北”位于上方,“东”位于右侧,“南”位于下方,“西”位于左侧。 ...
在本例中,`JPanel` 的大小被设置为 `400x300`,而 `JScrollPane` 的大小被设置为 `300x200`。这意味着 `JPanel` 的内容超出了 `JScrollPane` 的大小,但 `JScrollPane` 的大小并未根据 `JPanel` 的内容进行调整。 ...
在这个例子中,我们创建了一个继承自JPanel的`CustomBackgroundPanel`类,然后在构造函数中加载了图片资源。在`paintComponent()`方法中,我们调用父类的`paintComponent(g)`以完成基本的绘图工作,然后使用`...
在`JPanel`上设置背景图像,我们可以重写`paintComponent()`方法。首先,我们需要加载图片,然后在`paintComponent()`中使用`Graphics`对象的`drawImage()`方法绘制图片。以下是一个简单的示例: ```java public ...
JFrame提供了设置窗口标题、大小、位置以及关闭操作的特性。 其次,JPanel是JComponent的一个子类,它是一个可定制的容器,通常用于组合和管理多个组件。JPanel允许开发者通过自定义布局管理器来控制其内部组件的...
例如,在这个示例程序中,我们创建了一个名为 `MainJFrame` 的类,并在其构造函数中设置了窗口的标题、大小和位置。 知识点3: 设置背景图片 在 Java 中,设置背景图片需要使用 `ImageIcon` 类来加载图片,然后将其...
开发者可以重写`JPanel`的`paintComponent()`方法,利用`Graphics`对象进行绘制。 3. **事件监听器**: 用户点击面板上的格子,需要响应并执行相应的逻辑,如揭示数字、标记雷等。Java的事件监听机制(如`...
本文将分析Swing中窗体设计的组件和方法,从JFrame和JPanel这两个核心组件出发,探讨如何添加背景色、设置窗体大小和可见性以及如何在窗体中添加背景图片。 首先,JFrame是Swing中最常用的容器之一,它代表了一个...
为了实现图片大小的动态调整,我们需要监听窗口的`ComponentListener`,特别是`componentResized()`方法,当窗口尺寸改变时,此方法会被调用。 在`componentResized()`方法内,我们根据窗口的新尺寸计算出图片应该...
- **多组件适配**:除了`JButton`,这种方法也可以应用于其他Swing组件,如`JLabel`、`JPanel`等。 6. **实例演示**: - 创建一个简单的Swing应用程序,其中包含一个带有背景图片的`JButton`,并通过监听窗口大小...