相关疑难解决方法(0)

我应该避免在Java Swing中使用set(Preferred | Maximum | Minimum)Size方法吗?

有几次我因为建议使用以下方法而受到批评:

  1. 有必要对setPreferredSize
  2. 了setMinimumSize
  3. setMaximumSize

Swing组件上.当我想在显示的组件之间定义比例时,我没有看到任何替代它们的用法.我被告知这个:

对于布局,答案总是相同的:使用合适的LayoutManager

我在网上搜索了一下,但我没有找到任何关于这个主题的综合分析.所以我有以下问题:

  1. 我应该完全避免使用这些方法吗?
  2. 已经定义了这些方法的原因.那我什么时候应该使用它们?在哪种情况下?出于什么目的?
  3. 使用这些方法的负面后果究竟是什么?(我只能考虑在具有不同屏幕分辨率的系统之间添加可移植性).
  4. 我认为任何LayoutManager都不能完全满足所有需要的布局需求.我是否真的需要为布局上的每个小变化实现一个新的LayoutManager?
  5. 如果4的答案是"是",那么这是否会导致LayoutManager类的扩散变得难以维护?
  6. 在我需要定义组件子级之间的比例的情况下(例如,child1应该使用10%的空间,child2 40%,child3 50%),是否可以在不实现自定义LayoutManager的情况下实现这一点?

java swing layout-manager

471
推荐指数
8
解决办法
5万
查看次数

如何在JPanel中添加带有null布局的JTable?

我想添加JTableJPanel其布局中null. JPanel包含其他组件.我必须添加JTable适当的位置.

java layout jtable layout-manager null-layout-manager

232
推荐指数
6
解决办法
4万
查看次数

在Swing GUI中提供空白区域

没有空白区域的GUI显得"拥挤".如何在不借助明确设置组件的位置或大小的情况下提供空白区域?

java swing whitespace layout-manager

158
推荐指数
5
解决办法
4万
查看次数

如何最好地定位Swing GUI?

另一个线程中,我说过我喜欢通过做这样的事情来集中我的GUI:

JFrame frame = new JFrame("Foo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(new HexagonGrid());
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
Run Code Online (Sandbox Code Playgroud)

但安德鲁汤普森有不同的意见,而是打电话

frame.pack();
frame.setLocationByPlatform(true);
Run Code Online (Sandbox Code Playgroud)

和询问的头脑想知道为什么?

java user-interface swing

124
推荐指数
2
解决办法
2万
查看次数

从子类调用awt Frame方法

这个问题是关于框架,Java和处理.

这个问题听起来很复杂,但实际上并非如此.我会尝试将其保持在最低限度.我正在迷宫游戏中创建一个小球,以便了解物理和渲染.到目前为止,这是一次很好的体验,但我打了一个砖墙.
我决定的总体布局是在AWT框架中包含PApplet并使框架关闭.之所以这样,是因为我被告知你一次只能拥有一个Papplet实例.

PAppletProcessing中的一个Applet类,一个渲染库.

我在这里有3节课,包括主要课程

public class Menu extends PApplet
{
//images and buttons 
PImage background, playbtn1, playbtn2, hsbtn1, hsbtn2, abbtn1, abbtn2, exbtn1,     exbtn2;
FBox pBtn, hBtn, eBtn;

FWorld menu;

//simple constructor
public Menu()
{

}

public void setup()
{
    size(600, 400);
    smooth();
    Fisica.init(this);
    menu = new FWorld();

    //loading and placing images
    background = loadImage("MenuAlt.jpg");
    System.out.println(background);
    playbtn1 = loadImage("play1.gif");
    playbtn2 = loadImage("play2.gif");
    hsbtn1 = loadImage("high1.gif");
    hsbtn2 = loadImage("high2.gif");
    exbtn1 = loadImage("exit1.gif");
    exbtn2 = …
Run Code Online (Sandbox Code Playgroud)

java processing awt

37
推荐指数
2
解决办法
2万
查看次数

JList没有显示JScrollpane或更改大小

我有以下代码:

    JList<Song> list = new JList<Song>(this.lib);
    list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    list.setLayoutOrientation(JList.VERTICAL);
    list.setVisibleRowCount(3);
    list.setSize(1, 1);


    JScrollPane listScroller = new JScrollPane();
    listScroller.setViewportView(list);
    list.setSize(10, 10);
    setLayout(new FlowLayout(FlowLayout.LEFT,10,10));
    add(list);  
Run Code Online (Sandbox Code Playgroud)

我不确定这里有什么问题.当我查看JFrame时,我会在列表中看到列表,其中包含我列表中的所有9个项目.我试着弄乱大小,看看我是否可以让它工作,但事实并非如此.无论我将它设置为什么,大小似乎都没有改变.

我的目标是在必要时有一个垂直和水平滚动条,并且JList具有一定的固定大小(如果可能,固定与帧大小相比最好).

java swing jframe jscrollpane jlist

0
推荐指数
1
解决办法
1162
查看次数