草庐IT

java - Java 中的 MVC

这是关于一项学校作业,所以我正在努力按章办事。我觉得我正在掌握Java,但良好的编程实践、设计模式等对我来说都是相当新鲜的。我制作了我的模型,它运行良好。它包含一个学生类,其中包含许多带有学生信息的字段(很明显)。现在我希望这些信息显示在几个JLabel中。最简单的方法是将整个学生对象传递给GUI并多次使用JLabel.settext.getname()等,毫无疑问这将完美地工作。但我觉得学生对象是模型的一部分,通过将它传递给GUI,我不再使用MVC模式。我在这儿吗?我确实制作了一个Controller对象,用于在模型和GUI之间传递数据,但是为了仅将字符串传递给标签或通过Contro

java - JLabel 绘制点

importjava.awt.Graphics;importjavax.swing.*;publicclassDemo{JFramejf;JLabel[]labels;JPanelpanel;publicDemo(){jf=newJFrame();jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);labels=newJLabel[10];Boxvbox=Box.createVerticalBox();for(inti=0;i0.5)l.setText("777777777777777777777777777777777777");els

java - 在 JTextArea 中添加边距?

所以我有一个JTextArea,它从左上角开始显示文本。我希望所有4个边都有一些边距,因此文本和区域边界之间有一些空间。我研究了很多,找不到任何解决方案。我该怎么做?另外,我在想也许可以在所有4个边上贴上标签以创建虚拟边距。如何创建具有特定宽度和高度的JLabel? 最佳答案 可能是我没有正确理解您的问题。但是你可以使用setMargin()//setthemarginforallfoursidestt.setMargin(newInsets(10,10,10,10));//ttisJTextAreainstance一些重要的链接1

Java 添加 ImageIcon 到 JLabel

我正在尝试用Java制作一个非常基本的游戏,但在JFrame上显示图像时遇到问题。它过去对我有用,现在不行了,我看不出我做错了什么。我已经尝试打印当前工作目录并更改获取图像的位置以匹配该目录。问题很可能不是获取图像,因为我的(filefinder或filereader或类似的东西)可以毫无问题地找到它,但我无法正确地将它(ImageIcon)添加到JLabel,或者到JFrame。这是我的代码...JFrameframe=newJFrame("noimage");ImageIconimage=newImageIcon("C:/DocumentsandSettings/user/Desk

java - 如何将 JLabels 定位到 Java GUI 上的绝对位置

我在JPanel中有许多JLabel(包括ImageIcon)。而这个JPanel只是GUI上的一个面板;还有很多其他面板。我想将标签放置到它们的JPanel容器上的精确像素坐标。如何在不使用GroupLayout的情况下做到这一点? 最佳答案 参见DoingWithoutaLayoutManager(AbsolutePositioning)在Java教程中。Creatingacontainerwithoutalayoutmanagerinvolvesthefollowingsteps.Setthecontainer'slayout

java - 将自定义对象从 JList 拖放到 JLabel

我有一个包含自定义对象ArrayList的JList,我正在尝试创建一个拖放到字段中的方法。我无法理解如何在Transferable中打包和接收对象。这大概是我得到的:importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjavax.swing.event.*;importjava.util.*;publicclassFlightProjectInterfaceextendsJFrame{//createGUIObjectsprivateJFrameprimaryFrame;privateJPanelcrea

java - JLabel - 获取父面板?

是否可以获取添加了JLabel的面板的名称?我向不同的JPanel添加了一些JLabel,我想根据jLabel放置在哪个面板上调用不同的鼠标事件。 最佳答案 如果您运行label.getParent(),它将返回标签所在的面板。然后您可以调用parent.getName(),但事实上您现在将拥有您现在可能不需要的对象。 关于java-JLabel-获取父面板?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.

java - 为什么单元格渲染器经常扩展 JLabel?

我注意到这很常见。例如DefaultListCellRenderer、DefaultTableCellRenderer和DefaultTreeCellRenderer都使用它。我在网上看到的很多自定义单元格渲染器也使用它。我想在我的代码中使用自定义TableCellRenderer,但我对是否真的需要子类化JLabel感到困惑。子类化JLabel有什么好处? 最佳答案 APIfortheDefaultTableCellRenderer状态:Thetableclassdefinesasinglecellrendererandusesi

java - setAlignmentY 不在 BorderLayout 中将 JLabel 居中

Java的新手和全新的站点。我有一个JLabel添加到BorderLayout的中心面板。我希望JLabel位于面板的中央;setAlignmentX似乎有效,但setAlignmentY无效(标签显示在面板顶部)。这是代码:centerPanel=newJPanel();centerPanel.setLayout(newBoxLayout(centerPanel,BoxLayout.Y_AXIS));JLabellabel=newJLabel("Thisshouldbecentered");label.setAlignmentX(Component.CENTER_ALIGNMENT)

java - 如何将 JLabel 对齐到 JPanel 的左侧?

我想将我的JLabel左对齐。StringlText="mybook";JLabellabel=newJLabel(lText);label.setBorder(newEmptyBorder(25,0,25,500));我尝试使用EmptyBorder来做到这一点,但它没有正确对齐。我正在使用FlowLayout 最佳答案 FlowLayout默认使用CENTER对齐方式。尝试为您的JLabelJPanel容器使用LEFT对齐方式myJPanel.setLayout(newFlowLayout(FlowLayout.LEFT));