我无法在简单的Scala MainFrame GUI上获取按钮以在中心对齐。 已尝试过多次使用buttonname.peer.setAlignmentX和Y的组合,但没有效果。
代码如下:
object CGui extends SimpleSwingApplication
{
def top = new MainFrame
{
title = "Client Dashboard"
var tbox = new TextArea(4,20) { text = "Welcome to the dashboard"}
val stats_button = new Button { text = " View Statistics " }
val sp_button = new Button { text = " Add Server Process " }
val cp_button = new Button { text = " Add Local Process " }
val conn_button = new Button { text = " Connect" }
val quit_button = new Button { text = " Quit" }
// GUI Components *************************************************End *****
// GUI SetUp ******************************************************Start *****
contents = new BoxPanel(Orientation.Vertical)
{
contents += new Label(" ")
contents += tbox
contents += new Label(" ")
contents += stats_button
contents += new Label(" ")
contents += sp_button
contents += new Label(" ")
contents += cp_button
contents += new Label(" ")
contents += new FlowPanel {
contents += new Label(" ")
contents += conn_button
contents += quit_button }
border = Swing.EmptyBorder(20, 20, 20, 20)
}
listenTo(sp_button, cp_button, stats_button, conn_button, quit_button)
// GUI SetUp ******************************************************End *****
有人能指出我对setAlignmentX,Y用法的任何描述。 ScalaDoc会有使用示例吗?
答案 0 :(得分:0)
在调查Scala Swing组件对齐后,我能够使用BorderPanel {} 按下面的代码定位按钮:
// GUI SetUp ******************************************************Start *****
contents = new BoxPanel(Orientation.Vertical)
{
contents += new Label(" ")
contents += tbox
contents += new Label(" ")
contents += new BorderPanel {
add(stats_button, BorderPanel.Position.Center)}
contents += new Label(" ")
contents += new BorderPanel {
add(sp_button, BorderPanel.Position.Center)}
contents += new Label(" ")
contents += new BorderPanel {
add(cp_button, BorderPanel.Position.Center)}
contents += new Label(" ")
contents += new FlowPanel
{
contents += new BorderPanel {
add(conn_button, BorderPanel.Position.West)
add(quit_button, BorderPanel.Position.Center) }
}
border = Swing.EmptyBorder(20, 20, 20, 20)
}
listenTo(sp_button, cp_button, stats_button, conn_button, quit_button)
// GUI SetUp ******************************************************End *****
在发布我之前应该看一下。