我一直在使用空布局,很多人会说不应该这样做。有更好的办法吗?
以下是一些代码示例:
import javax.swing.*;
public class Main{
public static void main(String args[]){
JFrame frame = new JFrame();
JPanel panel = new JPanel();
JButton button = new JButton("Click");
//JFrame, frame
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
frame.setSize(500, 500);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
//JPanel, panel
panel.setLayout(null); //<<---- Is this correct?
frame.add(panel);
//JButton, button
button.setBounds(25, 25, 100, 60); //<<---- Is this correct?
panel.add(button);
}
}
有更好的办法吗?
布局管理器,布局管理器,布局管理器。如果默认提供的布局管理器不符合您的要求,请使用布局管理器的组合,或者尝试一些免费提供的布局管理器,如MigLayout(并根据需要与其他布局管理器组合使用)
用你的代码。。。
使用GridBagLayout
按钮稍微大一点,因为它考虑了按钮的实际要求(文本和字体大小),但总是会在宽度上增加100个像素,在高度上增加60个像素。
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Main {
public static void main(String args[]) {
JFrame frame = new JFrame();
JPanel panel = new JPanel();
JButton button = new JButton("Click");
//JFrame, frame
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable(false);
frame.setSize(500, 500);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
//JPanel, panel
panel.setLayout(new GridBagLayout());
frame.add(panel);
GridBagConstraints gbc = new GridBagConstraints();
gbc.ipadx = 100;
gbc.ipady = 60;
gbc.insets = new Insets(25, 25, 0, 0);
gbc.weightx = 1;
gbc.weighty = 1;
gbc.anchor = GridBagConstraints.NORTHWEST;
panel.add(button, gbc);
}
}
现在,如果我所做的就是添加按钮。setFont(button.getFont()。衍生字体(64f))
我们以。。。
你的代码在左边,我的代码在右边...
如果你认为这太戏剧化了,不同的操作系统会对你做更糟糕的事情
问题内容: 预期结果 单击切换按钮将显示菜单,并向右滑动内容视图。动画结束后,内容视图的布局参数将更新到最终位置。 问题 更新内容视图的最终位置时,该语句导致崩溃。错误消息是 源代码 问题答案: PARAMS应该RESP添加到您的父视图,假设你有作为父视图然后,必须使用。 说明 : 举个例子,并且,它们是不同的独立的类。他们存储有关子视图的不同其他信息。 可以将权重值与每个视图相关联,而不能。 可
我有一个布局,每当我按下提交按钮和设置错误的文本输入布局,它将editText变成红色,但我没有设置任何颜色的editText设置错误。基本上,我只想在editText下面给出错误字符串,而不是在设置错误时将editText变成红色。我的片段代码如下, 片段的xml代码如下所示,以线性布局为父级, 编辑文本和输入布局的样式如下所示, 基本上,我只想在editext下面给出错误字符串,而不是在设置错
问题内容: 我在设置布局时遇到一些问题。(不要介意按钮的大小,我只想正确地了解布局)。 Here’s my code: 谁能帮助我了解布局的工作原理? 我一直在观看很多视频,并尝试过不同的布局,但仍然无法正确完成。告诉我是否使用了正确的布局,或者是否应该更改布局 。 问题答案: 如 该答案中所建议的那样,可以为左部分提供所需的全部控制。如果您愿意为简单起见而牺牲一些控制权,则可以在a里面放两个面板
我试图创建一个假想的车辆,有自动和手动模式的用户界面。当用户将车辆设置为其中一种模式时,它应该只显示与该模式相关的控件,我已经使用CardLayout完成了这一点。 然而,我也希望能够为每张卡片手动指定布局中各种元素的位置——对于静态布局,我会按照,但在CardLayout上使用时,这只会给出一个空白窗口(因此下面代码中有两行注释掉)。 我如何实现这两个目标?我目前的代码如下:
我想要一个看起来像这样的视图,一个在项目之间没有间距的边框。 当前我的视图看起来是这样的,我使用的是一个带有卡片视图布局的recyclerview。 下面是我对每个项目的代码 是否有方法更改recyclerview边框?提前致谢:)
我正在Android中创建一个带有导航视图的tabLayout。我想将图标设置到选项卡布局的选项卡上。当我使用setIcon函数时,应用程序抛出一个空指针异常并崩溃。请帮帮我. 在android.app.activityThread.-wrap11(activityThread.java)在android.app.activityThread$H.HandleMessage(activityThr