我对Java还是个初来乍到的人,我很喜欢和它混在一起,所以请你在这件事上跟我幽默一下。我知道布局管理器,但我对摆动的机制感兴趣,所以我使用绝对定位。如有任何见解,将不胜感激。
所以我注意到在JPanel中添加JLabel时出现了一个令人讨厌的行为。例如,如果我这样设置它:
JFrame frame=new JFrame("Test Frame");
frame.setSize(800,500);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setResizable (false);
JPanel conPane=new JPanel();
conPane.setLayout(null);
frame.setContentPane(conPane);
conPane.setBounds(0,0,1600,1000);
conTP.setFocusable(true);
frame.setVisible(true);
所以现在我把康潘面板...
conPane.setBounds(-200,-200,1600,1000);
然后制作一个新的JLabel....
ImageIcon ico=new ImageIcon("directory/testimage.gif");
JLabel myLabel=new JLabel(ico);myLabel.setLayout(null);
myLabel.setBounds(300,300,200,200);
把它加到康帕内...
conPane.add(myLabel);
然后它就会把康帕纳调回到它的起始位置。在没有我的允许的情况下,实际上做了一些限制(0,0,160,100);
如果我移动一个标签,改变它的图标,或者几乎做任何涉及改变Conpane的孩子的事情,也会发生这种情况。
我怎么才能阻止它?
然后它就会把conPane重置到它的起始位置
本质上,那是错误的。这是错误的,因为你的假设是错误的:你假设
contPane.setBounds(....)
但实际上没有效果:负责布局组件的layoutManager是其父组件的manager(在本上下文中是RootPaneLayout,您绝对不想搞砸)。该管理器将其设置为框架的大小(-insets-menubar),无论您做什么。您可以通过在ContentPane中设置边框来将其可视化:
contPane.setBorder(BorderFactory.createLineBorder(Color.RED, 5));
在一天结束的时候,完全没有办法学习所有关于布局的知识,即使你坚持不使用它来浪费时间。
问题内容: 是否可以更改流程父级? 例如:父母A有孩子B,我可以使父母B是不杀死A的Init进程吗? 问题答案: 并非来自流程B的外部。 在流程B内部,您可以调用fork来复制您的流程,然后让原始副本退出。发生这种情况时,新副本B2将不是A的子级,其父级将被设置为1(初始化过程)。
我的反应结构是 在中有一个按钮,单击该按钮可通过家长向其兄弟姐妹发送消息。第一个孩子- 应用程序 选择研究 参与者表-这需要接收某个变量,例如在其状态中的
问题内容: 我试图制作一个由两个输入字段组成的登录表单,并带有插入填充,但是这两个字段总是最终超出其父级的边界。该问题源于添加的 插图 填充。为了解决这个问题可以采取什么措施? 注意:该代码可能不是最干净的。例如,可能根本不需要封装文本输入的span元素。 问题答案: 使用CSS定义可防止填充影响元素的宽度或高度。请参阅的文档。您可能还需要检查(IE8 +)的浏览器兼容性。 border-box
我正在尝试制作一个很好的ApiWrapper组件来填充各种子组件中的数据。从我读到的所有内容来看,这应该是可行的:https://jsfidle.net/vinniejames/m1mesp6z/1/ 但由于某种原因,当父状态更改时,子组件似乎没有更新。 我是不是漏了什么?
我在我的应用程序中,打开了一个活动。我按下主页按钮并更改语言,从taskmanager打开我的应用程序。问题:我的活动布局越来越宽。 对应于该活动的androidmanifest的更改: 注意:若我在android清单中添加语言环境,布局是正确的,但语言不会立即更新。用户必须关闭该活动,然后重新启动,只有这样语言才能得到更新。 请提供您的意见。
问题内容: 假设我有几列,我想旋转其中的一些值: 使用此CSS: 问题答案: 假设您希望旋转90度,即使对于非文本元素也可以旋转-但是像CSS中许多有趣的事情一样,它需要一些技巧。根据CSS 2规范,我的解决方案还会从技术上调用未定义的行为-因此,尽管我已经测试并确认它可以在Chrome,Firefox,Safari和Edge中使用,但我不能保证将来不会损坏浏览器版本。 Short answer