gpt4 book ai didi

java - 在 Java/Jython 中更改 BorderLayout 的大小

转载 作者:行者123 更新时间:2023-12-02 05:33:33 26 4
gpt4 key购买 nike

我正在尝试为一个小型命令行程序创建一个 GUI。我在 Jython 中执行此操作,因为我对 Python 比 Java 更熟悉。

我的代码看起来像:

    self.f = JFrame("Demultiplex the data")
self.f.setSize(900, 500)
self.f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

#Create a Text Area
self.txtArea = JPanel(GridLayout(15,0))
self.txtArea.setPreferredSize(Dimension(150, 150))
self.textAreaForSheet = JTextField(30)
self.textAreaInputForFolder = JTextField(30)
self.textAreaOutPutFolder= JTextField(30)
self.txtArea.add(self.textAreaForSheet)
self.txtArea.add(self.textAreaInputForFolder)
self.txtArea.add(self.textAreaOutPutFolder)

#Create Buttons
self.buttonArea = JPanel(GridLayout(15,15))
self.buttonArea.setPreferredSize(Dimension(150, 150))
self.sampleSheetBtn = JButton("SampleSheet", actionPerformed=self.onClickSample)
self.runOutPutFolder = JButton("RUN Folder",actionPerformed=self.onClickRun)
self.DemultiplexOutPutFolder = JButton("Output Folder",actionPerformed=self.onClickOut)
self.buttonArea.add(self.sampleSheetBtn)
self.buttonArea.add(self.runOutPutFolder)
self.buttonArea.add(self.DemultiplexOutPutFolder)

#Create Check Boxes
self.CheckBox = JPanel(GridLayout(15,15))
self.buttonArea.setPreferredSize(Dimension(150, 150))
self.Iter1 = JCheckBox("01_0M_NY", True,)
self.Iter2 = JCheckBox("02_0M_N", True,)
self.Iter3 = JCheckBox("03_1M_NY", True,)
self.Iter4 = JCheckBox("04_1M_N", True,)

self.CheckBox.add(self.Iter1)
self.CheckBox.add(self.Iter2)
self.CheckBox.add(self.Iter3)
self.CheckBox.add(self.Iter4)

#Create a Run button "Demultiplex"
self.ExecutePanel = JPanel()
self.console=JTextArea(10,80)
self.RunBtn = JButton("Demultiplex",actionPerformed= self.performDemultiplex)
self.ExecutePanel.add(self.RunBtn)
self.ExecutePanel.add(self.console)

#Add everything to JFrame
self.f.add(self.txtArea, BorderLayout.CENTER)
self.f.add(self.buttonArea, BorderLayout.WEST)
self.f.add(self.CheckBox, BorderLayout.EAST)
self.f.add(self.ExecutePanel, BorderLayout.SOUTH)

但我希望控制台“self.console=JTextArea(10,80)”占据中心的主要区域。我是一名生物学家,请帮助我。

现在的样子: enter image description here

最佳答案

出于讨论的原因here ,不要使用setPreferredSize() 。计算出的组件的首选尺寸,包括 JTextArea(10,80) ,将文本区域添加到框架的 BorderLayout.CENTER 后,平台的外观和感觉将是正确的。和 pack() 附上Window .

关于java - 在 Java/Jython 中更改 BorderLayout 的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25284104/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com