AlarmStatus - table border

The border property of the alarm status component has no effect on the table inside the alarm status component.
I would like to suppress the border of the table inside the alarm status. Is it possible ?

You need to set the JideScrollPane around the table to a null border:

c.getComponent(0).getComponent(0).getComponent(1).getComponent(0).border = None

	 0 com.inductiveautomation.ignition.client.util.gui.SlideOverPane[,0,0,639x465,invalid,layout=com.inductiveautomation.ignition.client.util.gui.SlideOverPane$Layout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
		 0 javax.swing.JPanel[,0,465,639x233,layout=java.awt.BorderLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777217,maximumSize=,minimumSize=,preferredSize=]
			 0 com.inductiveautomation.factorypmi.application.components.alarm.AbstractAlarmTable$PopupHolderPanel[,0,5,639x228,alignmentX=0.0,alignmentY=0.0,border=,flags=16777217,maximumSize=,minimumSize=,preferredSize=]
				 0 javax.swing.JLabel[,620,0,19x17,alignmentX=0.0,alignmentY=0.0,border=javax.swing.border.EmptyBorder@68f252e8,flags=8388608,maximumSize=,minimumSize=,preferredSize=,defaultIcon=jar:file:/C:/Users/pgriffith/.ignition/cache/resources/platform/designer-7.9.10.jar/0000000069E93E94/designer-7.9.10.jar!/images/collapse.png,disabledIcon=,horizontalAlignment=CENTER,horizontalTextPosition=TRAILING,iconTextGap=4,labelFor=,text=,verticalAlignment=CENTER,verticalTextPosition=CENTER]
				 1 javax.swing.JPanel[,0,0,639x228,layout=java.awt.BorderLayout,alignmentX=0.0,alignmentY=0.0,border=javax.swing.border.EmptyBorder@7d227532,flags=16777217,maximumSize=,minimumSize=,preferredSize=]
			 1 com.inductiveautomation.ignition.client.util.gui.SlideOverPane$Gripper[,0,0,639x5,alignmentX=0.0,alignmentY=0.0,border=,flags=16777216,maximumSize=,minimumSize=,preferredSize=java.awt.Dimension[width=5,height=5]]
		 1 javax.swing.JPanel[,0,0,639x465,invalid,layout=java.awt.BorderLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
			 0 com.jidesoft.swing.JideScrollPane[,0,0,639x465,layout=com.jidesoft.swing.JideScrollPaneLayout$UIResource,alignmentX=0.0,alignmentY=0.0,border=com.incors.plaf.alloy.cz@375d5535,flags=16777544,maximumSize=,minimumSize=,preferredSize=,columnHeader=javax.swing.JViewport[,27,2,610x31,layout=javax.swing.ViewportLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=25165832,maximumSize=,minimumSize=,preferredSize=,isViewSizeSet=true,lastPaintPosition=java.awt.Point[x=0,y=0],scrollUnderway=false],horizontalScrollBar=javax.swing.JScrollPane$ScrollBar[,27,0,-29x0,hidden,layout=com.incors.plaf.alloy.AlloyScrollBarUI,alignmentX=0.0,alignmentY=0.0,border=javax.swing.plaf.BorderUIResource$EmptyBorderUIResource@598fd397,flags=4194664,maximumSize=,minimumSize=,preferredSize=,blockIncrement=10,orientation=HORIZONTAL,unitIncrement=1],horizontalScrollBarPolicy=HORIZONTAL_SCROLLBAR_AS_NEEDED,lowerLeft=,lowerRight=,rowHeader=javax.swing.JViewport[,2,33,25x430,layout=javax.swing.ViewportLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=25165832,maximumSize=,minimumSize=,preferredSize=,isViewSizeSet=true,lastPaintPosition=java.awt.Point[x=0,y=0],scrollUnderway=false],upperLeft=com.inductiveautomation.factorypmi.application.components.AlarmStatusTable$7[,2,11,25x22,layout=net.miginfocom.swing.MigLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=],upperRight=,verticalScrollBar=javax.swing.JScrollPane$ScrollBar[,0,0,0x0,hidden,layout=com.incors.plaf.alloy.AlloyScrollBarUI,alignmentX=0.0,alignmentY=0.0,border=javax.swing.plaf.BorderUIResource$EmptyBorderUIResource@598fd397,flags=4194664,maximumSize=,minimumSize=,preferredSize=,blockIncrement=10,orientation=VERTICAL,unitIncrement=1],verticalScrollBarPolicy=VERTICAL_SCROLLBAR_AS_NEEDED,viewport=javax.swing.JViewport[,27,33,610x430,layout=javax.swing.ViewportLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=25165832,maximumSize=,minimumSize=,preferredSize=,isViewSizeSet=true,lastPaintPosition=java.awt.Point[x=0,y=0],scrollUnderway=false],viewportBorder=]
				 0 javax.swing.JViewport[,27,33,610x430,layout=javax.swing.ViewportLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=25165832,maximumSize=,minimumSize=,preferredSize=,isViewSizeSet=true,lastPaintPosition=java.awt.Point[x=0,y=0],scrollUnderway=false]
					 0 com.inductiveautomation.factorypmi.application.components.AlarmStatusTable$3[,0,0,610x22,alignmentX=0.0,alignmentY=0.0,border=,flags=251658568,maximumSize=,minimumSize=,preferredSize=,autoCreateColumnsFromModel=true,autoResizeMode=AUTO_RESIZE_SUBSEQUENT_COLUMNS,cellSelectionEnabled=false,editingColumn=-1,editingRow=-1,gridColor=javax.swing.plaf.ColorUIResource[r=238,g=236,b=232],preferredViewportSize=java.awt.Dimension[width=450,height=400],rowHeight=22,rowMargin=0,rowSelectionAllowed=true,selectionBackground=javax.swing.plaf.ColorUIResource[r=250,g=214,b=138],selectionForeground=javax.swing.plaf.ColorUIResource[r=0,g=0,b=0],showHorizontalLines=false,showVerticalLines=false]
						 0 javax.swing.CellRendererPane[,0,0,0x0,hidden]
				 1 javax.swing.JScrollPane$ScrollBar[,0,0,0x0,hidden,layout=com.incors.plaf.alloy.AlloyScrollBarUI,alignmentX=0.0,alignmentY=0.0,border=javax.swing.plaf.BorderUIResource$EmptyBorderUIResource@598fd397,flags=4194664,maximumSize=,minimumSize=,preferredSize=,blockIncrement=10,orientation=VERTICAL,unitIncrement=1]
					 0 com.incors.plaf.alloy.ds[,0,0,0x0,disabled,alignmentX=0.0,alignmentY=0.5,border=,flags=4194600,maximumSize=,minimumSize=,preferredSize=,defaultIcon=,disabledIcon=,disabledSelectedIcon=,margin=javax.swing.plaf.InsetsUIResource[top=3,left=14,bottom=3,right=14],paintBorder=true,paintFocus=true,pressedIcon=,rolloverEnabled=true,rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text=,defaultCapable=true]
					 1 com.incors.plaf.alloy.ds[,0,0,0x0,disabled,alignmentX=0.0,alignmentY=0.5,border=,flags=4194600,maximumSize=,minimumSize=,preferredSize=,defaultIcon=,disabledIcon=,disabledSelectedIcon=,margin=javax.swing.plaf.InsetsUIResource[top=3,left=14,bottom=3,right=14],paintBorder=true,paintFocus=true,pressedIcon=,rolloverEnabled=true,rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text=,defaultCapable=true]
				 2 javax.swing.JScrollPane$ScrollBar[,27,0,-29x0,hidden,layout=com.incors.plaf.alloy.AlloyScrollBarUI,alignmentX=0.0,alignmentY=0.0,border=javax.swing.plaf.BorderUIResource$EmptyBorderUIResource@598fd397,flags=4194664,maximumSize=,minimumSize=,preferredSize=,blockIncrement=10,orientation=HORIZONTAL,unitIncrement=1]
					 0 com.incors.plaf.alloy.ds[,-15,0,-14x0,alignmentX=0.0,alignmentY=0.5,border=,flags=4194600,maximumSize=,minimumSize=,preferredSize=,defaultIcon=,disabledIcon=,disabledSelectedIcon=,margin=javax.swing.plaf.InsetsUIResource[top=3,left=14,bottom=3,right=14],paintBorder=true,paintFocus=true,pressedIcon=,rolloverEnabled=true,rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text=,defaultCapable=true]
					 1 com.incors.plaf.alloy.ds[,0,0,-14x0,alignmentX=0.0,alignmentY=0.5,border=,flags=4194600,maximumSize=,minimumSize=,preferredSize=,defaultIcon=,disabledIcon=,disabledSelectedIcon=,margin=javax.swing.plaf.InsetsUIResource[top=3,left=14,bottom=3,right=14],paintBorder=true,paintFocus=true,pressedIcon=,rolloverEnabled=true,rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text=,defaultCapable=true]
				 3 javax.swing.JViewport[,2,33,25x430,layout=javax.swing.ViewportLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=25165832,maximumSize=,minimumSize=,preferredSize=,isViewSizeSet=true,lastPaintPosition=java.awt.Point[x=0,y=0],scrollUnderway=false]
					 0 com.jidesoft.grid.JideTable[,0,0,25x22,alignmentX=0.0,alignmentY=0.0,border=,flags=251658568,maximumSize=,minimumSize=,preferredSize=,autoCreateColumnsFromModel=true,autoResizeMode=AUTO_RESIZE_SUBSEQUENT_COLUMNS,cellSelectionEnabled=false,editingColumn=-1,editingRow=-1,gridColor=javax.swing.plaf.ColorUIResource[r=178,g=177,b=174],preferredViewportSize=java.awt.Dimension[width=25,height=100],rowHeight=22,rowMargin=1,rowSelectionAllowed=true,selectionBackground=javax.swing.plaf.ColorUIResource[r=250,g=214,b=138],selectionForeground=javax.swing.plaf.ColorUIResource[r=0,g=0,b=0],showHorizontalLines=false,showVerticalLines=false]
						 0 javax.swing.CellRendererPane[,0,0,0x0,hidden]
				 4 com.inductiveautomation.factorypmi.application.components.AlarmStatusTable$7[,2,11,25x22,layout=net.miginfocom.swing.MigLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=9,maximumSize=,minimumSize=,preferredSize=]
					 0 com.jidesoft.swing.TristateCheckBox[,1,0,22x20,alignmentX=0.0,alignmentY=0.5,border=com.incors.plaf.alloy.ct@5b86ea18,flags=16777504,maximumSize=,minimumSize=,preferredSize=,defaultIcon=,disabledIcon=,disabledSelectedIcon=,margin=javax.swing.plaf.InsetsUIResource[top=2,left=3,bottom=2,right=3],paintBorder=false,paintFocus=true,pressedIcon=,rolloverEnabled=true,rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text=]
				 5 javax.swing.JViewport[,27,2,610x31,layout=javax.swing.ViewportLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=25165832,maximumSize=,minimumSize=,preferredSize=,isViewSizeSet=true,lastPaintPosition=java.awt.Point[x=0,y=0],scrollUnderway=false]
					 0 com.inductiveautomation.factorypmi.application.components.AlarmStatusTable$3$1[,0,0,610x31,alignmentX=0.0,alignmentY=0.0,border=,flags=16777544,maximumSize=,minimumSize=,preferredSize=,draggedDistance=0,reorderingAllowed=true,resizingAllowed=true,updateTableInRealTime=true]
						 0 javax.swing.CellRendererPane[,0,0,0x0,hidden]
	 1 com.inductiveautomation.factorypmi.application.components.AlarmStatusTable$FooterPanel[,0,465,639x32,layout=java.awt.BorderLayout,alignmentX=0.0,alignmentY=0.0,border=javax.swing.border.EmptyBorder@69e4519e,flags=16777217,maximumSize=,minimumSize=,preferredSize=]
		 0 com.inductiveautomation.factorypmi.application.components.AlarmStatusTable$FooterPanel$ButtonPanel[,0,5,558x27,layout=net.miginfocom.swing.MigLayout,alignmentX=0.0,alignmentY=0.0,border=,flags=16777217,maximumSize=,minimumSize=,preferredSize=]
			 0 javax.swing.JButton[,0,0,109x27,disabled,alignmentX=0.0,alignmentY=0.5,border=com.incors.plaf.alloy.ct@5b86ea18,flags=16777504,maximumSize=,minimumSize=,preferredSize=,defaultIcon=,disabledIcon=,disabledSelectedIcon=,margin=javax.swing.plaf.InsetsUIResource[top=3,left=14,bottom=3,right=14],paintBorder=true,paintFocus=true,pressedIcon=,rolloverEnabled=true,rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text=Acknowledge,defaultCapable=true]
			 1 javax.swing.JButton[,113,0,73x27,disabled,alignmentX=0.0,alignmentY=0.5,border=com.incors.plaf.alloy.ct@5b86ea18,flags=16777504,maximumSize=,minimumSize=,preferredSize=,defaultIcon=,disabledIcon=,disabledSelectedIcon=,margin=javax.swing.plaf.InsetsUIResource[top=3,left=14,bottom=3,right=14],paintBorder=true,paintFocus=true,pressedIcon=,rolloverEnabled=true,rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text=Shelve,defaultCapable=true]
			 2 com.inductiveautomation.ignition.client.util.gui.StatusLabel[,190,14,0x0,alignmentX=0.0,alignmentY=0.0,border=,flags=8388608,maximumSize=,minimumSize=,preferredSize=,defaultIcon=,disabledIcon=,horizontalAlignment=LEADING,horizontalTextPosition=TRAILING,iconTextGap=4,labelFor=,text=,verticalAlignment=CENTER,verticalTextPosition=CENTER]
		 1 com.inductiveautomation.factorypmi.application.components.AlarmStatusTable$FooterPanel$UtilityPanel[,558,5,81x27,layout=net.miginfocom.swing.MigLayout,alignmentX=0.0,alignmentY=0.0,border=com.jidesoft.swing.PartialEtchedBorder@308d7312,flags=16777217,maximumSize=,minimumSize=,preferredSize=]
			 0 com.jidesoft.swing.JideToggleButton[,7,0,22x22,disabled,alignmentX=0.0,alignmentY=0.5,border=javax.swing.plaf.basic.BasicBorders$MarginBorder@23915a36,flags=4194592,maximumSize=,minimumSize=,preferredSize=,defaultIcon=jar:file:/C:/Users/pgriffith/.ignition/cache/resources/modules/fpmi/__765785812__vision-client-9.9.10.jar/00000000B31BF5C6/__765785812__vision-client-9.9.10.jar!/images/view.png,disabledIcon=sun.swing.ImageIconUIResource@6715f5f8,disabledSelectedIcon=,margin=javax.swing.plaf.InsetsUIResource[top=3,left=3,bottom=3,right=3],paintBorder=true,paintFocus=true,pressedIcon=,rolloverEnabled=true,rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text=,defaultCapable=true]
			 1 com.jidesoft.swing.JideToggleButton[,33,0,22x22,disabled,alignmentX=0.0,alignmentY=0.5,border=javax.swing.plaf.basic.BasicBorders$MarginBorder@23915a36,flags=4194592,maximumSize=,minimumSize=,preferredSize=,defaultIcon=jar:file:/C:/Users/pgriffith/.ignition/cache/resources/modules/fpmi/__765785812__vision-client-9.9.10.jar/00000000B31BF5C6/__765785812__vision-client-9.9.10.jar!/images/chart_line.png,disabledIcon=sun.swing.ImageIconUIResource@1918d3fb,disabledSelectedIcon=,margin=javax.swing.plaf.InsetsUIResource[top=3,left=3,bottom=3,right=3],paintBorder=true,paintFocus=true,pressedIcon=,rolloverEnabled=true,rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text=,defaultCapable=true]
			 2 com.jidesoft.swing.JideToggleButton[,59,0,22x22,alignmentX=0.0,alignmentY=0.5,border=javax.swing.plaf.basic.BasicBorders$MarginBorder@23915a36,flags=4194592,maximumSize=,minimumSize=,preferredSize=,defaultIcon=jar:file:/C:/Users/pgriffith/.ignition/cache/resources/modules/fpmi/__765785812__vision-client-9.9.10.jar/00000000B31BF5C6/__765785812__vision-client-9.9.10.jar!/images/shelf_empty.png,disabledIcon=,disabledSelectedIcon=,margin=javax.swing.plaf.InsetsUIResource[top=3,left=3,bottom=3,right=3],paintBorder=true,paintFocus=true,pressedIcon=,rolloverEnabled=true,rolloverIcon=,rolloverSelectedIcon=,selectedIcon=,text=,defaultCapable=true]
1 Like

I have the same request, but I’m not quite sure how to use the info in this post. How exactly would I set the border to null?

Once you have a reference to the appropriate component in the hierarchy, simply <component>.border = None.

I try to change the grid color, but with:

event.source.getComponent(0).getComponent(0).getComponent(1).getComponent(0).getComponent(3).getComponent(0).gridColor = Color(255,0,0)

It doesn’t work.

Perhaps I don’t use the right Color class ?
gridColor is a javax.swing.plaf.ColorUIResource[r=178,g=177,b=174]

where can I check the structure of the components?

The inner structure of the component is not part of the public ‘contract’, and is subject to change (without notice) between Ignition versions. In practice, this doesn’t happen often, because Vision is fairly stable at this point.

Search this forum for ‘recursive getComponent calls’ and you should find some example code to get you started.

thanks for the reply.
I would like to change the font size and color of the alarm table header