def done(self): table = JTable(methodTableModel( self.data, ['Method', 'Description / Abstract'], ), font=monoFont, autoResizeMode=JTable.AUTO_RESIZE_LAST_COLUMN, selectionMode=ListSelectionModel.SINGLE_SELECTION) table.setDefaultRenderer(String, methRenderer()) table.getTableHeader().setReorderingAllowed(0) self.tPanes.extend(self.getTableInfo(table)) self.splitPane.setBottomComponent(JScrollPane(table))
def run(self): frame = JFrame('Table7', size=(300, 150), locationRelativeTo=None, defaultCloseOperation=JFrame.EXIT_ON_CLOSE) headings = 'T/F,Date,Integer,Float,Double'.split(',') model = myTM(self.data, headings) table = JTable(model, selectionMode=ListSelectionModel.SINGLE_SELECTION) table.getColumnModel().getColumn(model.getColumnCount() - 1 # i.e., last column ).setCellRenderer(myRenderer()) #---------------------------------------------------------- # Adjust the width of the columns using only header text #---------------------------------------------------------- hRenderer = table.getTableHeader().getDefaultRenderer() for col in range(model.getColumnCount()): column = table.getColumnModel().getColumn(col) comp = hRenderer.getTableCellRendererComponent( None, # Table column.getHeaderValue(), # value 0, # isSelected = false 0, # hasFocus = false -1, # row # col # col # ) width = comp.getPreferredSize().width # print 'col: %d previous: %d current: %d' % ( col, column.getPreferredWidth(), width ) column.setPreferredWidth(width) frame.add(JScrollPane(table)) frame.setVisible(1)
def doInBackground(self): self.lock.acquire() try: pDict = self.getPorts(self.nodeName, self.servName) ports = pDict.keys() #----------------------------------------------------------------------- # Convert the port/endPointName dictionary to an ordered array # Note: The dictionary keys are numeric port number strings, so we need # to sort them as integers #----------------------------------------------------------------------- ports.sort(lambda x, y: cmp(int(x), int(y))) result = [] for port in ports: result.append([port, pDict[port]]) table = JTable(PortTableModel(result), autoResizeMode=JTable.AUTO_RESIZE_OFF) table.getTableHeader().setReorderingAllowed(0) self.data.addPortTable((self.nodeName, self.servName), table) except: print '\nError: %s\nvalue: %s' % sys.exc_info()[:2] self.lock.release()
class EmployeeDetails(JPanel): def __init__(self, employees, dateprovider): JPanel.__init__(self, preferredSize=(400, 200)) layout = BoxLayout(self, BoxLayout.Y_AXIS) self.setLayout(layout) self._employees = employees self._dateprovider = dateprovider employees.add_change_listener(self) self._create_status_label() self._create_name_editor() self._create_start_date_editor() self._create_save_button() self._create_vacation_display() self._adding_employee = False def _create_status_label(self): self._status_label = JLabel(name="status_label", font=Font(Font.SANS_SERIF, Font.PLAIN, 11)) self.add(self._status_label) self._add_with_padding(self._status_label, 5) def _create_name_editor(self): self.add(JLabel(text="Employee Name:")) self._name_editor = FixedHeightTextField("name_input") self._add_with_padding(self._name_editor, 5) def _create_start_date_editor(self): self.add(JLabel(text="Start Date (yyyy-mm-dd):")) self._start_date_editor = FixedHeightTextField("start_input") self._add_with_padding(self._start_date_editor, 5) def _create_save_button(self): self._save_button = JButton("Save", name="save_button", visible=False) self._save_button.addActionListener(ListenerFactory(ActionListener, self._save_button_pushed)) self._add_with_padding(self._save_button, 5) def _create_vacation_display(self): self._display = JTable(name="vacation_display") self._header = self._display.getTableHeader() self.add(self._header) self.add(self._display) def _add_with_padding(self, component, padding): self.add(component) self.add(Box.createRigidArea(Dimension(0, padding))) def show_employee(self, employee): self._name_editor.setText(employee.name) self._start_date_editor.setText(str(employee.startdate)) self._name_editor.setEditable(False) self._start_date_editor.setEditable(False) self._save_button.setVisible(False) if self._adding_employee: self._adding_employee = False else: self._status_label.setText("") self._display.setVisible(True) self._display.setModel(VacationTableModel(employee, self._dateprovider)) self._header.setVisible(True) def edit_new_employee(self): self._name_editor.setText("") self._start_date_editor.setText("") self._name_editor.setEditable(True) self._start_date_editor.setEditable(True) self._save_button.setVisible(True) self._display.setVisible(False) self._header.setVisible(False) self._adding_employee = True def _save_button_pushed(self, event): self._employees.add(self._name_editor.getText(), self._start_date_editor.getText()) def employee_added(self, employee): self._status_label.setForeground(Color.BLACK) self._status_label.setText("Employee '%s' was added successfully." % employee.name) self._save_button.setVisible(False) def adding_employee_failed(self, reason): self._status_label.setForeground(Color.RED) self._status_label.setText(reason)
fi = imp.getOriginalFileInfo() filepath = os.path.join(fi.directory, fi.fileName) if File(filepath).equals(File( event.getSource().getText())): imp.getWindow().toFront() is_open = True if is_open: return # otherwise open it IJ.open(table_entries[getSelectedRowIndex()][-2]) path.addMouseListener(PathOpener()) # Enable changing text font size in all components by control+shift+(plus|equals)/minus components = list(all.getComponents()) + [table, table.getTableHeader()] class FontSizeAdjuster(KeyAdapter): def keyPressed(self, event): if event.isControlDown() and event.isShiftDown( ): # like in e.g. a web browser sign = { KeyEvent.VK_MINUS: -1, KeyEvent.VK_PLUS: 1, KeyEvent.VK_EQUALS: 1 }.get(event.getKeyCode(), 0) if 0 == sign: return # Adjust font size of all UI components for component in components: font = component.getFont()
class EmployeeDetails(JPanel): def __init__(self, employees, dateprovider): JPanel.__init__(self, preferredSize=(400, 200)) layout = BoxLayout(self, BoxLayout.Y_AXIS) self.setLayout(layout) self._employees = employees self._dateprovider = dateprovider employees.add_change_listener(self) self._create_status_label() self._create_name_editor() self._create_start_date_editor() self._create_save_button() self._create_vacation_display() self._adding_employee = False def _create_status_label(self): self._status_label = JLabel(name='status_label', font=Font(Font.SANS_SERIF, Font.PLAIN, 11)) self.add(self._status_label) self._add_with_padding(self._status_label, 5) def _create_name_editor(self): self.add(JLabel(text='Employee Name:')) self._name_editor = FixedHeightTextField('name_input') self._add_with_padding(self._name_editor, 5) def _create_start_date_editor(self): self.add(JLabel(text='Start Date (yyyy-mm-dd):')) self._start_date_editor = FixedHeightTextField('start_input') self._add_with_padding(self._start_date_editor, 5) def _create_save_button(self): self._save_button = JButton('Save', name='save_button', visible=False) self._save_button.addActionListener( ListenerFactory(ActionListener, self._save_button_pushed)) self._add_with_padding(self._save_button, 5) def _create_vacation_display(self): self._display = JTable(name='vacation_display') self._header = self._display.getTableHeader() self.add(self._header) self.add(self._display) def _add_with_padding(self, component, padding): self.add(component) self.add(Box.createRigidArea(Dimension(0, padding))) def show_employee(self, employee): self._name_editor.setText(employee.name) self._start_date_editor.setText(str(employee.startdate)) self._name_editor.setEditable(False) self._start_date_editor.setEditable(False) self._save_button.setVisible(False) if self._adding_employee: self._adding_employee = False else: self._status_label.setText('') self._display.setVisible(True) self._display.setModel(VacationTableModel(employee, self._dateprovider)) self._header.setVisible(True) def edit_new_employee(self): self._name_editor.setText('') self._start_date_editor.setText('') self._name_editor.setEditable(True) self._start_date_editor.setEditable(True) self._save_button.setVisible(True) self._display.setVisible(False) self._header.setVisible(False) self._adding_employee = True def _save_button_pushed(self, event): self._employees.add(self._name_editor.getText(), self._start_date_editor.getText()) def employee_added(self, employee): self._status_label.setForeground(Color.BLACK) self._status_label.setText("Employee '%s' was added successfully." % employee.name) self._save_button.setVisible(False) def adding_employee_failed(self, reason): self._status_label.setForeground(Color.RED) self._status_label.setText(reason)