Multi-line JTable headers?

Is there any way for a JTable column header to have 2 or more lines of text? I want narrow columns with fairly lengthy text descriptions.
The only thing I could think of was to override AbstractTableModel.getColumnName to send String values with embedded "\n" or html "<br/>" constructs. Neither method works.

I'm sorry, my earlier statement was not precise enough.
The technique you show does produce multi-line header text; however the height of the header is unchanged, so only the center line is visible (or the bottom of line 1 and the top of line 2, if two lines are written).
Do you know if the height of the header row can be changed?

Similar Messages

  • Multi Line JTable

    Where do I get the package for
    jp.gr.java_conf.tame.swing.table.* ?

    Never mind. It was an example. The souce is available here
    http://www2.gol.com/users/tame/swing/examples/JTableExamples2.html

  • Multi line column JTable

    Hi,
    I am working on JTable and I am using DefaultTableModel.
    I have a requirement that in one of the cells I need to show a multi line text which may contain 10 to 50 lines of text.I need to show all the text even on resizing the table.
    Can anyone give me suggessions regarding this.
    Thanks,
    Bussa.

    Hi,
    Write your custom JTableCellEditor and Renderer to install a JTextArea on the cell you want.
    You can set the size of the larger row separately via
    JTable.setRowHeight(int row, int value); To display the full text you should set
    JTextArea.setLineWrap(true);
    JTextArea.setWrapStyleWord(true);and set the width of the JTextArea static.
    after this calculate the height of the JTextArea and set it to the table.
    Olek

  • JTable multi line header behaves strangely

    Hello,
    I'm trying to use html-tags in my JTable headers. For some reasons only the first column-name has any effect on the header height. If the other columns have more lines than the first column, they are cut off.
    Is there a solution to this problem?

    I extended the JTable and overrode the addColumn method:
       @Override
       public void addColumn(TableColumn column) {
          super.addColumn(column);
          if (column!= null && getTableHeader() != null
                && getTableHeader().getDefaultRenderer() != null) {
             column.setHeaderRenderer(getTableHeader().getDefaultRenderer());
       }That seemed to work well, but perhaps there are more elegant solutions?

  • Print JTable with multi line header

    I need to print a JTable with multi line header, I want to know if I can use the method jTable.print(int, MessajeFormat, MessageFormat) by manipulation of the MessageFormat. How I can manipulate it?
    Otherwise, How I can print this?

    hi again,
    To print pdf in a swing application you don't need servlet.jar.
    You'll only need itext.jar and a printer connected to your pc.
    Download the iText source code and unzip it. See the following classes:
    com.lowagie.tools.LPR and com.lowagie.tools.BuildTutorial. This latter is the main class of a swing tool that you can run.
    Silent Print:
    You have only to embed this javascript code in your pdf:
    writer.addJavaScript("this.print(false);", false);
                        document.add(new Chunk("Silent Auto Print"));Then, you have to send the document to the printer.
    Google : java print pdf
    http://forum.java.sun.com/thread.jspa?threadID=523898 or
    http://www.exampledepot.com/egs/javax.print/pkg.html for printing task.
    Under unix system, I used this:
                           String PRINTER = ...;
                   try {
                        String cmd = "lp -d " + PRINTER + " " + PDF_PATH;
                        Runtime.getRuntime().exec(new String[] { "sh", "-c", cmd });
                   } catch (Exception e) {
                                 //handle the exception
                                 e.printStackTrace();
                   }hth

  • Multi-line Labels in Swing 1.1?

    Hi
    Is it possible to get multi-line labels
    (using any type of component) prior
    to 1.1.1?
    Marc

    I think you should create a custom table cell renderer. As I am a lazy one I'd subclass a default renderer as follows (I have not tried it, it's just a clue):
    public class MultilineTableCellRenderer extends DefaultTableCellRenderer
         private JTextArea renderer;
         public MultilineTableCellRenderer()
              renderer = new JTextArea();
              renderer.setEnabled(false);
              // You should find out another color constant if you are using
              // Java L&F, this works with the Windows L&F.
              renderer.setDisabledTextColor(UIManager.getColor("control"));
         public Component getTableCellRendererComponent(JTable table,
              Object value, boolean isSelected, boolean cellHasFocus, int row,
              int column)
              JComponent compo = (JComponent) super.getTableCellRendererComponent(
                   table, value, isSelected, cellHasFocus, row, column);
              renderer.setBackground(compo.getBackground());
              renderer.setForeground(compo.getForeground());
              renderer.setDisabledTextColor(compo.getForeground());
              renderer.setBorder(compo.getBorder());
              // Might need something like that.
              /* renderer.setText(value.toString() ???); */
              return renderer;
    }You might want to stub out methods like repaint, validate for better performance in a JTextArea subclass...
    Kurta

  • Multi-colored JTable column heading?  How?

    Hi,
    I'm looking for a way to have JTable column heading text
    that can be displayed in multiple colors, so one string
    in one column header, might have each letter a different
    color.
    My application requires highlighting some of the letters
    of a word as red, while others are normal text (black).
    I've been using multi-line strings to simulate vertical
    naming for my column header, for example:
    PPP
    I I I
    N N N
    1 2 3
    for PIN1, PIN2, PIN3. The column data has a binary
    one or zero for each pin, grouped together in one JTable
    column. In my application, if there is an error, I want to
    color just the text representing, say PIN2 red and leave
    the surrounding PIN1 and PIN3 black.
    What approach should I take for doing this with JTable?
    Thanks!
    John Roberts
    [email protected]

    You should override the default cell renderer used by Java
    - JTable.getTableHeader().setDefaultRenderer(yourRenderer)
    Extend yourRenderer from JLabel and use HTML tags to change the color.
    - setText on JLabel with the HTML code like "<HTML> <BODY> <FONT COLOR="red"> A </FONT> <FONT COLOR="green"> B </FONT></BODY> </HTML>"

  • Not able to generate multiple lines for headers in report

    Hi,
    I am new to BI publisher and not able to generate multiple lines for headers. Please help me to resolve.
    I am using RTF template, data source as PS Query and XML file (system generated from the data source)
    When I am using system generated 'First XML' file, I am getting output in the follwoing format.
    TEAM_MEMBER, PROJECT_ID, NAME, START_DT
    e.g.
    EMP1 , 71000, Sample, 01-Jan-2010
    EMP1 , 72000, Sample, 01-Feb-2010
    EMP1 , 73000, Sample, 01-March-2010
    But I want the report to be generate with multiple projects for one employee like below format , for that I used 'Second XML' file but I am getting blank report.
    In short if there is one to many case, how to show in reports??? Please correct if I am going wrong.
    TEAM_MEMBER
    PROJECT_ID, NAME, START_DT
    PROJECT_ID, NAME, START_DT
    PROJECT_ID, NAME, START_DT
    e.g.
    EMP1
    71000, Sample, 01-Jan-2010
    72000, Sample, 01-Feb-2010
    73000, Sample, 01-March-2010
    **********First XML**************System generated XML ****************************
    <?xml version="1.0"?>
    <query numrows="2" queryname="SY_EMP_PROJECT" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="">
    <row rownumber="1">
    <TEAM_MEMBER>TEAM_MEMBER </TEAM_MEMBER>
    <PROJECT_ID>PROJECT_ID samp</PROJECT_ID>
    <NAME>NAME sample data</NAME>
    <START_DT>2010-08-25</START_DT>
    </row>
    <row rownumber="2">
    <TEAM_MEMBER>TEAM_MEMBER</TEAM_MEMBER>
    <PROJECT_ID>PROJECT_ID samp</PROJECT_ID>
    <NAME>NAME sample data</NAME>
    <START_DT>2010-08-25</START_DT>
    </row>
    </query>
    **********Second XML**************Manually created XML and using to show multiple projects for one employee****************
    <?xml version="1.0"?>
    <TEST numrows="2" queryname="SY_EMP_PROJECT" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="">
    <TEAM_MEMBER rownumber="1">
    <TEAM_MEMBER>1</TEAM_MEMBER>
    <EMPLOYEE_NAME>SAMPLE</EMPLOYEE_NAME>
    <PROJECT>
    <PROJECT_ID>1111</PROJECT_ID>
         <PROJECT_DESCR>SAMPLE</PROJECT_DESCR>
    <START_DATE>01012010</START_DATE>
    </PROJECT>
    <PROJECT>
    <PROJECT_ID>1112</PROJECT_ID>
         <PROJECT_DESCR>SAMPLE</PROJECT_DESCR>
    <START_DATE>01022010</START_DATE>
    </PROJECT>
    </TEAM_MEMBER>
    <TEAM_MEMBER rownumber="2">
    <TEAM_MEMBER>2</TEAM_MEMBER>
    <EMPLOYEE_NAME>SAMPLEC</EMPLOYEE_NAME>
    <PROJECT>
    <PROJECT_ID>1111</PROJECT_ID>
         <PROJECT_DESCR>SAMPLE</PROJECT_DESCR>
    <START_DATE>01012010</START_DATE>
    </PROJECT>
    <PROJECT>
    <PROJECT_ID>1112</PROJECT_ID>
         <PROJECT_DESCR>SAMPLE</PROJECT_DESCR>
    <START_DATE>01022010</START_DATE>
    </PROJECT>
    </TEAM_MEMBER>
    </TEST>
    Edited by: ganeshtw on Aug 25, 2010 12:14 AM

    Hi,
    With your first xml you can print like
    EMP1
    71000, Sample, 01-Jan-2010
    72000, Sample, 01-Feb-2010
    73000, Sample, 01-March-2010While creating the RTF template you can use the Group by option.
    <?for-each-group:ROW;./columnname> then print the column name
    <?columnname?>
    --Then your table format
    71000, Sample, 01-Jan-2010
    72000, Sample, 01-Feb-2010
    73000, Sample, 01-March-2010
    <?end for-each-group?>
    Thanks.

  • Permanently save line spacing in a multi-line text field

    Me: Adobe Acrobat 8 Pro, Windows Vista
    (I think the people who will be using the form have Reader 7 on Windows)
    I work in a doctors' clinic, and we use phone message sheets to document conversations between the patients/us/nurses/doctors, and I scanned the form and made it into a fillable PDF for our secretaries to fill out more quickly. The "message" area has pre-printed lines on it, and the multi-line text field I placed there needs to match up to the lines. I used the Rich Text Formatting options to set it to "Exactly 24 Points," but I can't get it to KEEP the formatting permanently. The only way I could get it to save the formatting in that field was to put a space in it and then save it, and then give that to the 2 phone secretaries. It works perfectly the first time, but instead of just closing/re-opening the file to start a new message, one of the secretaries highlights everything in the "message" field and deletes it... which deletes the line spacing formatting. I've told her
    b numerous
    times to leave that starting space in the field, but she "forgets" so all of her messages look messed up. So is there a way to force that line spacing
    b PERMANENTLY
    ???? Here's a shrunken screenshot of the field -- I wish I could just erase the lines altogether so the spacing wouldn't matter, but the secretaries type/print the message out, then the nurses/docs write on the page with pen so the lines have to stay. http://img187.imageshack.us/my.php?image=notepreviewph8.jpg
    Thanks!

    You can set the font size of the text. Then play with the underlines in the original document to match the needs of the font that is used. Print to a new PDF and then use replace pages to put the new page into the form without changing the form fields. I was able to do this with a word processing document by adding underlining in the document with 12 pt and setting the font to 12 pt in the text field. You can play with the font, the border of the field, and the underlining in the original document to get the desired result. Is this optimal, probably not. However it does the job.

  • Multi Line Text Custom Field

    Multi line text custom field is not coming in ms project Professional

    Pradeep,
    You cannot access Multiline text fields from Project Professional and in Project Server Views. These fields are for use in Project Details pages and with workflow for demand management in Project Server. Please refer to the article shared in earlier post.
    I would recommend you to create a Excel/SSRS report if you would like to show data available in this fields to end users.
    Hope this helps.
    ===================================================
    Thank you,
    Kiran K.
    If a post answers your question, please click "Mark As Answer" on that post and "Vote as Helpful

  • Address Book: Importing Multi-Line Fields

    A common and often unavoidable import format for Mac Address Book is Comma Separated Value files (.csv). Address Book cannot import CSV files that have multi-line fields, such as might be included in Notes, because it cannot tolerate embedded newline characters (a.k.a., carriage returns, line breaks). (See http://docs.info.apple.com/article.html?path=AddressBook/4.0/en/ad808.html. The CSV spec (http://en.wikipedia.org/wiki/Comma-separated_values) addresses this need by requiring that fields which contain newlines be enclosed in quotes, but Address Book doesn't adhere to this part of the standard.)
    Here's a way to import CSV files and have multi-line fields preserved:
    Using an editor, replace +every embedded+ newline character in the CSV file with "\n". Take care to not alter the newline characters that end each record. Import the resulting file into Address Book using the CSV option. Selecting the 'Last Import' group, export those specific records using the vCard option. Then delete those records. Then import the vCards previously exported. Presto!
    Apparently, although Address Book is blind to "\n" when importing CSV files, and exporting vCard fields, it interprets this character sequence as newline when importing vCards.

    Hi Adam,
    Thanks, but the problem is not importing to AddressBook, it is exporting.  I did discover from another that I can export very easily to a Numbers spreedsheet.  It is exceptionally simple.  But it will not export custom fields.  Someone said that is because of a vcard standard.  My custom fields are just "name" fields that I have labeled differently.  But Numbers does not support the name (it only takes the name of the card).
    Christine

  • Need a JavaScript to enable/view Multi-line option for Text fields.

    Hello All,
    I need a JavaScript to enable/view Multi-line option for all the Text fields in PDF Form.
    Assume that I have a PDF form of Fields from F1 to F100 and it contains 25 Checkboxes, 25 Combo Box and 50 Text Fields. Now i need a javascript for which i need to enable Multiline for only Text Fields. So Is there any JS for which i can enable the Multiline option for only Text fields and not for ComboBox or Checkbox.

    Hi timo,
    Thanks for your help. iam trying to use the iteraor approch to do this. but i don't know how to fetch the data entered in the form that was built by the iterator. can you please tell me .
    thanks

  • How to Remove the /Div in a Multi-line Field when reporting in Excel, getting

    I am uisng Excel Services to extract data from PS2013.  And the Multi-line text fields include the </Div> syntax.  I have looked at a lot of the links regarding how to do this.  I have even borrowed code that was on someones blog. 
    When I try and use it I get the following message and cannot not seem to resolve it after reading varous links regarding this issue. 
    Any ideas?  As a work around I have created an Excel Macro to remove it, however would like to solve it in the query
    Error Message
    The data types
    Nvarchar and Ntext are incompatible in the add operator
    Here is the syntax
    declare @Headxml nvarchar(350)
    declare @Footxml nvarchar(50)
    set @Headxml = N'<?xml version="1.0"?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd"
    [<!ENTITY  nbsp "&#xA0;"><!ENTITY quot "&#x22;">]><html><body>'
    set @Footxml = N'</body></html>'
    SELECT   ProjectOwner.ProjectUID as [ProjectUID],
    ProjectOwner.ProjectName as [Project Name],
    ProjectOwner.[Project Number] as [ECP#],
    TaskRelated.TaskName as [Task Name],
    MSP_WssRiskToTaskLinks_UserView.RiskID as [Risk ID],
    MSP_WssRiskToTaskLinks_UserView.Title as [Risk Title],
    MSP_WssRiskToTaskLinks_UserView.Status as [Status],   
    MSP_WssRiskToTaskLinks_UserView.AssignedToResource as [Assigned To],
    MSP_WssRiskToTaskLinks_UserView.Owner as [PM], 
    MSP_WssRiskToTaskLinks_UserView.DueDate as [Due Date],  
    MSP_WssRiskToTaskLinks_UserView.Probability as [Probability],
    MSP_WssRiskToTaskLinks_UserView.Impact as [Impact], 
    MSP_WssRiskToTaskLinks_UserView.Exposure as [Exposure],
    MSP_WssRiskToTaskLinks_UserView.Cost as [Cost],
    MSP_WssRiskToTaskLinks_UserView.CostExposure as [Cost Exposure],  
    MSP_WssRiskToTaskLinks_UserView.Category as [Category],
    ISNULL(LTRIM((CONVERT(xml,(@Headxml+MSP_WssRiskToTaskLinks_UserView.[Description]+@Footxml),3)
            .value(N'(/)','nvarchar(4000)'))),'') AS [YourMulti-lineCustomFieldNewName],
    MSP_WssRiskToTaskLinks_UserView.MitigationPlan as [Mitigation Plan],  
    MSP_WssRiskToTaskLinks_UserView.ContingencyPlan as [Contingency Plan],
    MSP_WssRiskToTaskLinks_UserView.TriggerTask as [Trigger Task],
    MSP_WssRiskToTaskLinks_UserView.TriggerDescription as [Trigger Description],
    MSP_WssRiskToTaskLinks_UserView.CreatedDate as [Created Date],
    MSP_WssRiskToTaskLinks_UserView.CreateByResource as [Create By],
    MSP_WssRiskToTaskLinks_UserView.ModifiedByResource as [Modified By],
    MSP_WssRiskToTaskLinks_UserView.ModifiedDate as [Modified],
    TaskRelated.TaskUID as [TaskUID],
    TaskRelated.TaskName as [Task Name],
    TaskRelated.TaskStartDate as [Task Start],
    TaskRelated.TaskFinishDate as [Task Finish] FROM dbo.MSP_WssRiskToTaskLinks_UserView
    LEFT OUTER JOIN dbo.MSP_EpmProject_UserView AS ProjectOwner ON ProjectOwner.ProjectUID = MSP_WssRiskToTaskLinks_UserView.ProjectUID
    LEFT OUTER JOIN dbo.MSP_EpmProject_UserView AS ProjectRelated ON ProjectRelated.ProjectUID = MSP_WssRiskToTaskLinks_UserView.RelatedProjectUID
    LEFT OUTER JOIN dbo.MSP_EpmTask_UserView AS TaskRelated ON TaskRelated.ProjectUID = MSP_WssRiskToTaskLinks_UserView.RelatedProjectUID 
    AND TaskRelated.TaskUID = MSP_WssRiskToTaskLinks_UserView.RelatedTaskUID LEFT JOIN dbo.MSP_WssRelationshipType ON
    MSP_WssRiskToTaskLinks_UserView.RelationshipTypeID = MSP_WssRelationshipType.RelationshipTypeID                
    ORDER BY ProjectOwner.ProjectName ASC,  MSP_WssRiskToTaskLinks_UserView.RiskID
    Andrew Payze

    Hi Andrew,
    We normally create a function to do this. Some examples can be found here:
    http://blog.sqlauthority.com/2007/06/16/sql-server-udf-user-defined-function-to-strip-html-parse-html-no-regular-expression/
    http://lazycoders.blogspot.co.uk/2007/06/stripping-html-from-text-in-sql-server.html
    http://stackoverflow.com/questions/457701/best-way-to-strip-html-tags-from-a-string-in-sql-server
    Paul
    Paul Mather | Twitter |
    http://pwmather.wordpress.com | CPS

  • Update of Qty in multi line PO's

    Hi All,
    We need to update the qty in the PO (multi line POs), and we have around 3000 multi line POs, please let me know which is best way to change the qy in these POs.
    Please let me know complete process.
    thnks
    Vihaan

    Hi,
    I would create a program calling BAPI_PO_CHANGE for each PO item and update the quantity.
    Regards,
    Gilberto Li

  • Multi line issue in Table Cell Editor

    Hi,
    I am developing an occasionally connected application for handheld devices using NetWeaver Mobile 7.1. In one of the view, I have a table which display items information from the data source. In one of the column I need to display item description so I used TextEdit in the Cell Editor to display the information in multi line format and also wrapping is enabled.
    But during testing of the application the TextEdit control does not wraps the text and as well as only first line of TextEdit control is visible inside the table and rest of the rows are not visible because of table's row height is not adjusted to the TextEdit control. I couldn't find any option to vary the size of the row height of the table.
    Please suggest a solution to bring multi line display with in the table.
    Also, check out my other issue posted here.
    [Issue in wrapping of text in TextEdit control|Issue in wrapping of text in TextEdit control]
    Thanks in advance.
    Regards,
    DVR.
    Edited by: Vinodh Raj D on May 28, 2009 8:18 AM

    Hi Vinodh,
                   Mutliline text in a text view/edit control inside a table cell is not supported.
    You can view multiline text in a text view/edit as a seperate control inside a view. I think in case you want to see the whole address you can create a detail(s) view which can be navigated from the list (table) view.
    Regards,
    Nipun

Maybe you are looking for