- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在设计按钮时遇到问题,我创建了 13 并将其设为 5,3,但最后一个按钮没有拉伸(stretch)到 3 列的宽度。
它看起来像这样 example picture
这是我的代码,如果有人可以提供任何有用的建议,谢谢。
import javax.swing.*;
public class Frame extends JFrame
{
public static void main(String[]args){
JFrame myFrame = new JFrame("MyFrame");
Panel myPanel = new Panel();
myFrame.add(myPanel);
myFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
myFrame.setSize(300,400);
myFrame.setVisible(true);
}
}
import javax.swing.*;
import java.awt.*;
public class Panel extends JPanel
{
JButton zero,one,two,three,four,five,six,seven,eight,nine,clear, negative,convert;
JRadioButton k2p,p2k;
JTextArea area;
ButtonGroup conversion;
public Panel() {
zero = new JButton("0");
one = new JButton("1");
two = new JButton("2");
three = new JButton("3");
four = new JButton("4");
five = new JButton("5");
six = new JButton("6");
seven = new JButton("7");
eight = new JButton("8");
nine = new JButton("9");
clear = new JButton("C");
negative = new JButton("-");
convert = new JButton("Convert");
area = new JTextArea();
conversion = new ButtonGroup();
conversion.add(k2p= new JRadioButton("Kilograms to Pounds"));
conversion.add(p2k= new JRadioButton("Pounds to Kilograms"));
setLayout(new BorderLayout());
JPanel westPanel = new JPanel();
westPanel.setLayout(new GridLayout(5,3));
westPanel.add(zero);
westPanel.add(one);
westPanel.add(two);
westPanel.add(three);
westPanel.add(four);
westPanel.add(five);
westPanel.add(six);
westPanel.add(seven);
westPanel.add(eight);
westPanel.add(nine);
westPanel.add(negative);
westPanel.add(clear);
westPanel.add(convert);
add(westPanel,BorderLayout.CENTER);
}
}
最佳答案
GridLayout
将其空间平均分配给所有组件:
The GridLayout class is a layout manager that lays out a container's components in a rectangular grid. The container is divided into equal-sized rectangles, and one component is placed in each rectangle.
(强调我的)您的替代方案是其他布局管理器,如 GridBagLayout
、GroupLayout
或使用复合布局,这意味着将布局管理器一个嵌套在另一个布局管理器中。
在这里,我将通过将 GridLayout
嵌套在 CENTER
位置的 BorderLayout
和 convert< 中来使用复合布局
按钮在 PAGE_END
位置:
class Panel extends JPanel {
JButton[] numberButtons = new JButton[10];
JButton nine, clear, negative, convert;
public Panel() {
for (int i = 0; i < numberButtons.length; i++)
numberButtons[i] = new JButton(String.valueOf(i));
clear = new JButton("C");
negative = new JButton("-");
convert = new JButton("Convert");
setLayout(new BorderLayout());
JPanel westPanel = new JPanel(new BorderLayout());
JPanel buttonsPanel = new JPanel(new GridLayout(4, 3));
for (int i = 0; i < numberButtons.length; i++)
buttonsPanel.add(numberButtons[i]);
buttonsPanel.add(negative);
buttonsPanel.add(clear);
westPanel.add(buttonsPanel);
westPanel.add(convert, BorderLayout.PAGE_END);
add(westPanel, BorderLayout.CENTER);
}
}
我还为编号按钮创建了一个 JButton[]
,这通常是更好的选择。您也可以在那里添加其他按钮,但我认为这只会产生不利影响。
关于java - 如何在要拉伸(stretch)的网格布局中创建 13 个中的最后一个按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34367958/
好吧,这是最好用图像来解释的事情...... 我正在寻找一个类似于 StretchBlt 的函数,但我可以将图像复制到定义目标四个角的 Canvas 上,即将图像的梯形/四边形拉伸(stretch)绘
我为 UITextField 制作了一个自定义键盘,其中包含 18 个 UIButton。它是一个 UIView,被设置为文本字段的 inputView。 按钮是在 UIView 的 initWith
我想创建一个 UIButton,它使用可拉伸(stretch)图像作为背景图像,例如我可以轻松调整按钮大小以适应不同的标签等。 所以我创建了以下运行良好的代码: UIImage *bgImage =
我正在尝试拉伸(stretch) UIImageView 中的图像 - 但我惨败了:) 以下设置: 带有 View 和附加到该 View 的 UIImageView 的 NIB 文件。 使用IBOut
我一直在尝试使用 html Canvas ,但由于某种原因,很难让它不拉伸(stretch)东西。我试过只使用 screen.width 和 screen.height,但我通过使用 screen.a
我想拉伸(stretch)上图的左右两侧,并保持中间的箭头不拉伸(stretch)。我怎样才能做到这一点? 最佳答案 如果你不喜欢打扰 Photoshop 并且图像不需要动态调整大小,你可以使用我在
我的页脚在一个容器中有四列。它需要在容器内以与上面的内容对齐。 我的问题是我想让左栏有红色背景,但目前它不会拉伸(stretch),因为它显然在容器中。 我怎样才能将它向左拉伸(stretch)整个宽
有没有办法拉伸(stretch)按钮,使中央部分保持完整? 9-patch 不允许这样做。 编辑:我按照 Benito 的建议使用了 9-patch。它工作正常。奇怪的是,我第一次无法得到它。 最佳答
我想拉伸(stretch)上图的左右两边,中间的箭头不拉伸(stretch)。我该怎么做? 最佳答案 如果你不想打扰 Photoshop 并且如果图像不需要动态调整大小,你可以在 UIImage 上使
我创建了一个 9patch 图像,不知何故它只能垂直拉伸(stretch)。我尝试了其他 9-patch 图像,但它们具有相同的效果,为什么它们在其他情况下工作。所以我认为 9patch 应该没问题。
我需要在边框控件(或类似控件)中绘制一些简单的线条,这些线条始终延伸到边框的边界。有没有办法只拉伸(stretch)线条而不是它的笔?不涉及大量 C#? 在这个版本中,线条延伸:
这是我的 XAML 及其外观:
编辑:答案将允许背景图像根据 body 的大小改变它的高度。如果正文是 500px 高,它应该是 100% 宽度,500px 高度。或 100% 宽度 2500 像素高度。 也许我错过了这件事,但我正
我有一个 UILabel。我设置了尾随和前导空间约束,还添加了对齐 Y 中心约束。我已将行数设置为零。 我的目标是将 UILabel 拉伸(stretch)到某个最大宽度,然后添加新行。在给定的约束条
我正在制作一个网站,对于该网站,我正在使用顶部的导航栏。我想要的是将栏放在页面的顶部,并且它是主页的单独颜色。这是我当前的代码: body { font-family: "Baloo Bhaina
我编写了代码来 reshape 已纹理化的四边形。当我拉伸(stretch)四边形时,图像确实按照我的预期拉伸(stretch)了。我似乎在拉伸(stretch)图像时有两个不同的三角形,图像被拉伸(
我在 div 中嵌入了 YouTube。此 div .entry-content 的 max-width 为 30em。 YouTube 嵌入我想要全窗口宽度,延伸到 #container 之外。为此
看: //UIImageView* stretchTest = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image.png"]
我有一个 super 简单的网页,由纯 HTML/CSS 组成。正如预期的那样,当我在本地运行它时,一切正常。 但是,当我部署它时(使用 Droppages,一个通过 Dropbox 的静态页面托管平
我正在尝试将一个 9 色 block 图像设置为我的一项 Activity 的背景,但它不必要地拉伸(stretch),使一切变得奇怪。我使用 draw9patch 创建它,并在左下角添加了一个像素,
我是一名优秀的程序员,十分优秀!