Tag: layout

如何使JTextArea粘贴到窗口

你好我想让这个TextArea坚持使用鼠标调整窗口大小,就像下按钮一样。 这是完全没有错误的代码,请一目了然。 import java.awt.BorderLayout; import java.awt.Component; import java.awt.Container; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.GridLayout; import java.awt.LayoutManager; import javax.swing.BoxLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextArea; import javax.swing.JTextField; import javax.swing.SwingUtilities; public class Rozklady extends JFrame { public Rozklady() { super(); } public void createGUI(){ setPreferredSize(new Dimension(400,150)); JPanel jp = new JPanel(); […]

将JLabel置于JPanels中心

我正在制作一个记分计划,但我遇到了一个问题。 我试图做的是在顶部有一个包含两个JPanel的JPanel,而JPanel又包含两个团队名称。 我很困惑为什么程序顶部的两个JLabel没有集中在它们所包含的JPanel中。 import java.awt.*; import java.awt.event.*; import javax.swing.*; public class ScoreFrame extends JFrame { private static final Dimension SCREEN_SIZE = Toolkit.getDefaultToolkit().getScreenSize(); private static final int WIDTH = SCREEN_SIZE.width; private static final int HEIGHT = SCREEN_SIZE.height; private final JTextField[] nameField = new JTextField[] { new JTextField(), new JTextField() }; private final JLabel[] nameLabel = new […]

如何并排放置两个jpanels

我尝试将两个jpanels并排放置,但是在这一刻我不能做我想要的,我有这个代码, this.videoPanel= new JPanel(); this.videoPanel.setBackground(new Color(102, 102, 102)); this.videoPanel.setPreferredSize(new Dimension(320, 240)); this.videoPanel.setLayout(new BoxLayout(this.videoPanel, 1)); GroupLayout layout = new GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createSequentialGroup() .addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING) .addComponent(this.videoPanel, 10, 400, 500))); layout.setVerticalGroup( layout.createSequentialGroup() .addGroup(layout.createParallelGroup(GroupLayout.Alignment.BASELINE) .addComponent(this.videoPanel, 10, 400, 500))); pack(); `我试着再放一个jpanel: this.videoPanel1.setBackground(new Color(102, 102, 102)); this.videoPanel1.setPreferredSize(new Dimension(320, 240)); this.videoPanel1.setLayout(new BoxLayout(this.videoPanel1, 2)); GroupLayout layout = new GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup( layout.createSequentialGroup() .addGroup(layout.createParallelGroup(GroupLayout.Alignment.LEADING) […]

如何减少GridLayout中JCheckbox之间的空间

我在一列中有三个Java JCheckboxes ,通过将容器JPanel的布局设置为GridLayout(3, 1, 1, 1) JCheckboxes来排列。 当我运行程序时,JCheckBox之间的垂直空间太大; 它看起来像超过1个像素。 由于我已经将布局中JCheckbox之间的垂直空间设置为1像素,我还能如何减少这些JCheckbox之间的垂直空间? 谢谢。

如何使用iText为我的(pdf-)文本添加背景颜色以使用Java创建它

首先:我对用于创建pdf的框架的了解并不是最好的,请在回答时牢记这一点。 我需要一个框架/库,我可以用它在java中创建pdf文件,并且(重要的!)将文本放在某些x和y坐标处。 经过大量的研究,我经历过,我可以通过iText实现这一点。 这是一个简单的代码片段,基本上用iText中的文本显示我现在正在做的事情。 您只需将其复制到您的编程环境中,您只需要iText jar(可在此下载: http : //sourceforge.net/projects/itext/files/latest/download? source = files) import java.io.FileOutputStream; import com.itextpdf.text.Document; import com.itextpdf.text.pdf.BaseFont; import com.itextpdf.text.pdf.PdfContentByte; import com.itextpdf.text.pdf.PdfWriter; public class PDFTesting { public static void main(String[] args) { Document document = new Document(); try { PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(“output.pdf”)); document.open(); PdfContentByte cb = writer.getDirectContent(); int x = 100; int […]

如何在Java中创建带有连接按钮的ButtonGroup?

我目前正在尝试创建一组切换按钮,这些按钮类似于Eclipse的格式化程序首选项中使用的切换按钮: 目前我已通过以下方式尝试此操作: public class Exercise extends JFrame { private String[] buttonNames = {“A”, “B”, “C”, “D”, “E”}; Exercise() { final JPanel topPanel = new JPanel(); topPanel.setLayout(new GridBagLayout()); GridBagConstraints c = new GridBagConstraints(); int tabCount = 0; final ButtonGroup topButtonGroup = new ButtonGroup(); for (String buttonName : buttonNames) { JToggleButton tabButton = new JToggleButton(buttonName); topButtonGroup.add(tabButton); c.fill […]

Java TableLayout

我目前想要为JPanels构建一个表格类型的布局。 我发现有一个TableLayout for Java但我不知道如何导入它。 另一方面,我发现有一个GridBagLayOut也可以构建一个像layout一样的表。但它似乎更复杂。 任何建议。

GroupLayout给出了java swing的错误

我得到了很多错误。 任何人都可以向我建议我在GroupLayout出错的GroupLayout 。 layout.setHorizontalGroup( layout.createSequentialGroup() .addComponent(new JLabel(“Enter Book Name”)) .addComponent(new JTextField(“TextField”, 20)) ); 错误: 线程“main”java.lang.IllegalStateException中的exception: javax.swing.JTextField中[,0,0,0×0,无效,布局= javax.swing中。 plaf.basic.BasicTextUI $ UpdateHandler,alignmentX = 0.0, alignmentY = 0.0,边界= javax.swing.plaf.BorderUIResource $ CompoundBorderUIResource @ 3d0bbf9e,旗帜= 296,MAXIMUMSIZE =, =的minimumSize,首选大小=,caretColor = sun.swing。 PrintColorUIResource [R = 51,G = 51,B = 51],disabledTextColor =的javax .swing.plaf.ColorUIResource [R = 184,G = 207,B = 229],可编辑=真 ,余量= javax.swing.plaf.InsetsUIResource [顶= […]

如何在Java Swing中控制JTextField的宽度?

我试图在一行上有几个JTextFields,但我不希望它们具有相同的宽度。 如何控制宽度并使其中一些宽度比其他宽度更宽? 我希望他们一起占据总宽度的100%,所以如果我可以使用某种形状的东西会很好。 我试过.setColumns()但它没有意义。 这是一个示例,我使用三行,其中三个字符串应显示为列: import java.awt.GridLayout; import javax.swing.BoxLayout; import javax.swing.JComponent; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextField; public class RowTest extends JPanel { class Row extends JComponent { public Row(String str1, String str2, String str3) { this.setLayout(new BoxLayout(this, BoxLayout.X_AXIS)); JTextField fld1 = new JTextField(str1); JTextField fld2 = new JTextField(str2); JTextField fld3 = new JTextField(str3); fld1.setColumns(5); […]

如何在jFrame上布局多个面板? (Java)的

我正在制作自己的Java套接字游戏。 我的游戏画面可以全画面(在这里说“在这里画画”,但我现在正在画整个画面)。 我想添加一个带有滚动条的文本框,用于仅显示文本,不显示任何输入和另一个文本框以从用户获取文本输入,然后添加按钮以发送文本,以进行聊天。 但在我的问题上,我怎么开始解决这个问题呢? 我知道我需要一个布局,但有人可以帮助我吗? 这是我目前的代码(此代码此刻仅设置绘制到整个屏幕,现在需要将屏幕分割起来,如上图所示): public class Setup extends JFrame implements Runnable{ JPanel panel; JFrame window; public Setup(Starter start, JFrame window){ window.setSize(600,500); window.setLocationRelativeTo(null); window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); window.setResizable(false); panel = new Display(start); this.window = window; } public void run(){ window.getContentPane().add(panel); window.setBackground(Color.BLACK); window.setVisible(true); } } “新显示(开始)” – 这扩展了jpanel,它基本上是我绘制所有图形的明智之处。 另外,我看到人们添加不同的面板,但我不能让它们大小相同。 如图所示,“这里的油漆图形”面板是最大的,依此类推。