Checkbox is not centering [message #447760] |
Fri, 17 December 2004 19:49 |
Phill Perryman Messages: 214 Registered: July 2009 |
Senior Member |
|
|
<br><font size=1 face="sans-serif">I am drawing a table like list (Variable height text so iam doing it myself).</font>
<br>
<br><font size=1 face="sans-serif">When I create a checkbox it does not appear in the center but over to the left.</font>
<br>
<br><font size=1 face="sans-serif">The code below is responsible for drawing the actual widget where the user answers the question, the first column is just a label with the question text.</font>
<br>
<br><font size=1 face="sans-serif">I create the butto for the checkbox as Button box = new Button(panel, SWT.CHECK | SWT.CENTER | SWT.BORDER);</font>
<br><font size=1 face="sans-serif">but it still appears left justified in its space.</font>
<br>
<br><font size=1 face="sans-serif">How can I get the chekbox in the middle of the widget size. </font>
<br>
<br><font size=1 face="sans-serif"> /**</font>
<br><font size=1 face="sans-serif"> * Creates the Question Widget.</font>
<br><font size=1 face="sans-serif"> * </font>
<br><font size=1 face="sans-serif"> * @param question Question that defines the type and content</font>
<br><font size=1 face="sans-serif"> * @param x X position of the widget</font>
<br><font size=1 face="sans-serif"> * @param y Y position of the widget</font>
<br><font size=1 face="sans-serif"> * @param width The width of the widget</font>
<br><font size=1 face="sans-serif"> * @param height The minimum height of the widget</font>
<br><font size=1 face="sans-serif"> * @return The height that the Widget is actually set to</font>
<br><font size=1 face="sans-serif"> */</font>
<br><font size=1 face="sans-serif"> private int drawQuestionWidget(Question question, int x, int y, int width,</font>
<br><font size=1 face="sans-serif"> int height) {</font>
<br><font size=1 face="sans-serif"> Control control;</font>
<br>
<br><font size=1 face="sans-serif"> switch (question.getType()) {</font>
<br><font size=1 face="sans-serif"> case Question.HEADER:</font>
<br><font size=1 face="sans-serif"> Label label = new Label(panel, SWT.CENTER | SWT.BORDER);</font>
<br><font size=1 face="sans-serif"> label.setText(""); //$NON-NLS-1$</font>
<br><font size=1 face="sans-serif"> control = label;</font>
<br><font size=1 face="sans-serif"> break;</font>
<br><font size=1 face="sans-serif"> case Question.DISPLAY:</font>
<br><font size=1 face="sans-serif"> label = new Label(panel, SWT.CENTER | SWT.BORDER);</font>
<br><font size=1 face="sans-serif"> label.setText(question.getDisplay());</font>
<br><font size=1 face="sans-serif"> control = label;</font>
<br><font size=1 face="sans-serif"> break;</font>
<br><font size=1 face="sans-serif"> case Question.INT:</font>
<br><font size=1 face="sans-serif"> Text text = new Text(panel, SWT.CENTER | SWT.BORDER);</font>
<br><font size=1 face="sans-serif"> text.setText(question.getDisplay());</font>
<br><font size=1 face="sans-serif"> text.addKeyListener(this);</font>
<br><font size=1 face="sans-serif"> text.addVerifyListener(intVerifyListener);</font>
<br><font size=1 face="sans-serif"> text.addFocusListener(this);</font>
<br><font size=1 face="sans-serif"> text.setTextLimit(5);</font>
<br><font size=1 face="sans-serif"> control = text;</font>
<br><font size=1 face="sans-serif"> break;</font>
<br><font size=1 face="sans-serif"> case Question.CHECKBOX:</font>
<br><font size=1 face="sans-serif"> Button box = new Button(panel, SWT.CHECK | SWT.CENTER | SWT.BORDER);</font>
<br><font size=1 face="sans-serif"> box.setSelection(question.getQuantity() != 0);</font>
<br><font size=1 face="sans-serif"> box.addSelectionListener(this);</font>
<br><font size=1 face="sans-serif"> control = box;</font>
<br><font size=1 face="sans-serif"> break;</font>
<br><font size=1 face="sans-serif"> case Question.COMBO:</font>
<br><font size=1 face="sans-serif"> Combo combo = new Combo(panel, SWT.DROP_DOWN | SWT.BORDER);</font>
<br><font size=1 face="sans-serif"> Map map = question.getComboMap();</font>
<br><font size=1 face="sans-serif"> Object[] display = map.values().toArray();</font>
<br><font size=1 face="sans-serif"> Arrays.sort(display);</font>
<br><font size=1 face="sans-serif"> for (int i = 0; i < display.length; i++)</font>
<br><font size=1 face="sans-serif"> combo.add((String) display[i]);</font>
<br><font size=1 face="sans-serif"> combo.setText(question.getDisplay());</font>
<br><font size=1 face="sans-serif"> combo.addSelectionListener(this);</font>
<br><font size=1 face="sans-serif"> control = combo;</font>
<br><font size=1 face="sans-serif"> break;</font>
<br><font size=1 face="sans-serif"> default:</font>
<br><font size=1 face="sans-serif"> label = new Label(panel, SWT.CENTER | SWT.BORDER);</font>
<br><font size=1 face="sans-serif"> label.setText("?"); //$NON-NLS-1$</font>
<br><font size=1 face="sans-serif"> control = label;</font>
<br><font size=1 face="sans-serif"> }</font>
<br>
<br><font size=1 face="sans-serif"> control.setLocation(x, y);</font>
<br><font size=1 face="sans-serif"> Point p1 = control.computeSize(width, SWT.DEFAULT, true);</font>
<br><font size=1 face="sans-serif"> if (p1.y > height)</font>
<br><font size=1 face="sans-serif"> height = p1.y;</font>
<br><font size=1 face="sans-serif"> if (height < 21)</font>
<br><font size=1 face="sans-serif"> height = 21;</font>
<br><font size=1 face="sans-serif"> control.setSize(width, height);</font>
<br><font size=1 face="sans-serif"> if (question != null)</font>
<br><font size=1 face="sans-serif"> control.setData(question);</font>
<br><font size=1 face="sans-serif"> return height;</font>
<br>
<br><font size=1 face="sans-serif"> }</font>
|
|
|
Powered by
FUDForum. Page generated in 0.01712 seconds