Pre-flight Report lists Non-Opaque Objects in InD CS3?
In the preflight report there was mention of Non-Opaque objects. Why is this bad, how can I recognize that this is an issue and how do I fix the problem. I researched a bit and found suggestions to make separate layers for the text/lines and images with the text and lines above the image. Then when the page is flattened in the PDF process, the resolution should be better. I still do not know how to recognize that there would be an issue. Please help.
Please repost in the InDesign forum.
Similar Messages
-
Preflight Report lists Non-Opaque Object in InD CS3?
In the preflight report there is mention of Non-Opaque objects. Why is this bad, how can I recognize that this is an issue and how do I fix the problem. I researched a bit and found suggestions to make separate layers for the text/lines and images with the text and lines above the image. Then when the page is flattened in the PDF process, the resolution should be better. I still do not know how to recognize that there would be an issue. Please help.
Best practice is to keep the transparency live for as long as possible, ideally flattening in the RIP at output, but there are still a lot of printers whose equipment is outdated (or their thinking), and for them it will be necessary to provide a flattened PDF for printing.
If your printer is flagging this as a problem, it could be he's one of the dinosaurs, and you should either go with the flow or find another printer who lives in this century. -
Hi, can anyone help me troubleshoot the following please:
Active Directory Security Group Discovery Agent reported warnings for 524 object(s). DDRs were generated for 0 object(s) that had warning(s) while reading non-critical properties. DDRs were not generated for 524 object(s) that had warnings while reading
critical properties.
Possible cause: OU name or Security Group name may contain at least a Unicode character which has conversion problem between Unicode and your system ANSI locale(e.g. Korean characters in English System Locale). The site server might not have access to
some properties of this object. The container specified might not have the properties available.
Solution: Please verify the Active Directory schema for properties that are not replicated or locked. Refer to the discovery logs for more information.
Does the error relate to 524 security groups? There are several invalid search paths listed in adsgdis.log, are these related?
Thanks,
DaleYou'll have to examine the log to determine exactly which objects its referring to. Although this is in the context of group discovery, group discovery still creates DDRs for computer objects within those groups so it could be either groups or computers.
This is not a search path issue though as it's clear that the discovery process found 524 different objects, but as stated, it could not properly read criticial properties of those objects and thus did not create DDRs for them.
As mentioned, reading the log in detail will list the objects individually and the reason it could not create a DDR for it.
Jason | http://blog.configmgrftw.com -
How many lines we can print using Non-alv report list ?
Hi Experts,
How many lines we can print using Non-alv report list ?
regards
vishnuHi,
It depends on the page size according to the page size we can set the no. of lines as follows,
REPORT program_name NO STANDARD PAGE HEADING
LINE-SIZE 290
LINE-COUNT 65.
Hope it helps you,
Regards,
Abhijit G. Borkar -
Error encountered while signing. Windows cryptographic service provider reported an error. Object not found. Error code:2148073489. Windows 7, Adobe Reader XI, Symantec PKI, Smart Card and CAC. I have seen other threads for this error but none have a resolution. Any help would be appreciated.
Sorry for the long title, first time poster here.This thread is pretty old, are you still having this issue?
-
How to get list of custom objects used in abap report program?
Hi friends,
I have a requirement in which I have to scan the entire abap report and retrieve list of custom objects used in it for example custom tables, data elements, structures, table types etc,. Is there any provision in SAP like fuction modules to do this functionality? As of now I am coding everything manually where so many possibilities are there for all kinds of objects. Provide your answers and suggestions...
Thanks,
NasteraHi,
The best way to do this is environment analysis. Follow the steps:
1. Open se38, type in the program name (don't click on on display/change or create button, stay on first screen only)
2. Click on environment analysis button (hot key SHIFT+F4)
3. It will throw a pop-up, which will ask for type of object you want to see, which are linked /used by this program. select all (or may be if you are only interested in Tables, then select table only)
4. Hit 'Enter'
You will get the full list of all objects used in this report program. Just note down the one which starts with Z or Y and that's it.
Cheers,
Anid -
Object Id on the Decision Report List applet does not display the Object Id
The Object Id field of the Decision Report List Applet displays either the entity name of the entity name - Id. We wouldlike to dispay the siebel row Id's in that field respectivey for the parent or the child or grandchild entities.Please help with h to go about it.
If the base entity is declared as global in OPM, then global gets displayed in the Object id. If a siebel entity is declared as an entity in OPM then entityname - Id gets displayed.
Thanks !!Unfortunately the decision report comes from deep with the engine and there is not much you can do to change it.
However, the Decision report is XML which is then modified by an XSLT for display in Siebel. You could have a look at the style sheet and the original XML and see if there is a way for displaying the XML that might be more suitable for your purpose.
The xslt is decision_report.xslt and can be found in the siebsrvr\XSLT directory.
Cheers
Frank -
Can we control Font and Font size in Non-alv report list ?
Hi Experts,
Can we control Font and Font size in Non-alv report list ?
Regards
vishnuHi,
see if this is useful to you,
PRINT-CONTROL SIZE 2 COLOR BLACK FONT 5.
you can go through this link,
http://help.sap.com/saphelp_47x200/helpdata/en/9f/dba62335c111d1829f0000e829fbfe/frameset.htm
Regards,
Abhijit G. Borkar -
How can I list all NON-Standard objects on a SAP Oracle database?
Reason: I believe I have objects that were created with SAP naming conventions that were not part of the installed SAP modules.
My understanding is that there are SAP documentation tables like DOKIL that I could use to join against current objects.I can confirm the table OIURV_DOC_DTL_BK is a standard table in ERP, it seems to be part of IS-OIL.
Let me wrap up the information to check, whether an object is standard or not:
- If it is in the ABAP dictionary (table TADIR), then use SE11 to find the creator and package information
- If it is not in the ABAP dictionary then the object was most likely created directly on the database. You can then query dba_objects for creation date (created). You will have to talk to the folks with direct database access about it. Generally objects should never be manipulated directly on the database.
Cheers Michael -
Pre Flight Record Check List Alesis Firewire, Creative Sound Card, Adobe Audition
I was having many crashes on my computer, Windows Vista, so I made a check list to put a stop to all the crashes. This is what has worked for me I hope it works to you. Just so you all know since the recording I do is for the church radio shows that we produce. We start and end with a prayer. God Bless
Pre Flight Record Check List: To RECORD
Disconnect all Periphials
Reboot: Computer
Printer: OFF (not connected to recording copmptuer)
Speakers: All OFF
Closet Light: OFF
Cell Phones: OFF
Lockdown Internet
Disable Firewall
Computer Volume Settings: Alesis Microphone
2 Ch, 16 Bit, 44,100 Hz Cd Quality
* Do not allow applications to take control
Level- 100
Alesis Control Panel
Sample Rate: 44.1 Khz
Buffer 256
Rate: Any
System Sound: enable
System Latency: High
Open Adobe Software: Multitrack View
Adobe Audio Hardware Setup
Edit View: Alesis 44,100 Hz, Buffer Size: 256
Multimix View: Creative
Surround Encoder: Creative
Adobe Multi Track:
Monitoring: External
Adobe Edit Mode: Record in this mode
Click New: for Settings
Sample Rate:44100
* Stereo
* 16 Bit
Alesis Multimix 12
Main Mix
x- Pressed
x-Not Pressed
Alt 3/4
x-Pressed
x-Not Pressed
x-Not Pressed
x-Not Pressed
Sound Check:
Level
Pot: 1
Pot: 3
Main Mix:
ALT: 3/4Alesis stuff is generally pretty good and the Alesis is correct in that it is generally accepted that the TI chips are better and it is good advice.
PCI-e firewire800 card at ARC...
http://www.arc.com.au/?IOFIREPCIE1394B
I paid a $104 AUS it is now $77.90 (go figure)
Unfortunately there is no image on the web site. Without pulling my PC out I'm pretty sure it has 2 outputs and 2 inputs but don't quote me on that.
You should be able to pick something like this up anywhere in the world pretty cheap.
If it was me I would say that it would be a small investment and worth it to see if you can get the Alesis stuff stabalised. -
Editing Pre-built quick list report - access denied?
I tried to edit a pre-build quick list report but I get an access denied error when trying to save it?
Can someone confirm if this is by design?
I just want to remove a column but I don't really want to have to create a copy of the report, then update the analysis that navigates to this report so it points to my new version. Also it will mean the Original version is still available via the reports tab which i would not want to avoid confusion.
CheersYou cannot edit the Pre-Built reports, you have to open them and resave them to edit them.
regards
Alex -
Refresh a report list after remote function call
Hi,
My customer has a report listing invoices. A non-SAP program calls a remote function creating an invoice with BAPI. My customer wants the list to be refreshed after the invoice is created via RFC or to refresh the list in specified time intervals.
Is there any way to accomplish that task?
thanks,... or OO, integrate like this
DATA: ok_code LIKE sy-ucomm.
* CLASS lcl_event_handler DEFINITION
CLASS lcl_event_handler DEFINITION.
PUBLIC SECTION.
CLASS-METHODS: on_finished FOR EVENT finished OF cl_gui_timer.
ENDCLASS. "lcl_event_handler DEFINITION
CLASS lcl_event_handler IMPLEMENTATION.
METHOD on_finished.
* Start Timer again
gr_gui_timer->interval = pa_autow.
CALL METHOD gr_gui_timer->run.
* cause PAI
CALL METHOD cl_gui_cfw=>set_new_ok_code
EXPORTING
new_code = gc_cmd_refresh.
ENDMETHOD. "on_finished
DATA:
gr_gui_timer TYPE REF TO cl_gui_timer,
gr_event_handler TYPE REF TO lcl_event_handler,
gs_vtyp like ts_vtyp.
*======================================================================*
*= Selection screen =*
*======================================================================*
PARAMETERS:
pa_autow TYPE flag DEFAULT 'X'.
SELECTION-SCREEN END OF BLOCK date.
*& Form init_autorefresh
* Timer starten oder stoppen
FORM init_autorefresh .
IF pa_autow IS NOT INITIAL.
CREATE OBJECT gr_gui_timer.
SET HANDLER gr_event_handler->on_finished FOR gr_gui_timer.
gr_gui_timer->interval = pa_autow.
CALL METHOD gr_gui_timer->run.
ELSEIF gr_gui_timer IS BOUND.
gr_gui_timer->cancel( ).
ENDIF.
ENDFORM. " init_autorefresh
Regards,
Clemens -
ALV Tree Report without using ABAP Objects
Hi all,
I want to know the name of a function module to create ALV Tree in SE38 as a report. I am required to create this ALV Tree Report without using ABAP OBJECTS. Can u pls help me as early as possible.Hi
see this link
http://www.sapdev.co.uk/reporting/alv/alvtree.htm
*& Report ZBCALV_TREE
REPORT ZBCALV_TREE.
class cl_gui_column_tree definition load.
class cl_gui_cfw definition load.
data tree1 type ref to cl_gui_alv_tree.
data mr_toolbar type ref to cl_gui_toolbar.
include <icon>.
include bcalv_toolbar_event_receiver.
include bcalv_tree_event_receiver.
data: toolbar_event_receiver type ref to lcl_toolbar_event_receiver.
data: gt_VBAK type VBAK occurs 0, "Output-Table
gt_fieldcatalog type lvc_t_fcat, "Fieldcatalog
ok_code like sy-ucomm. "OK-Code
start-of-selection.
end-of-selection.
call screen 100.
*& Module STATUS_0100 OUTPUT
text
module STATUS_0100 output.
SET PF-STATUS 'MAIN'.
if tree1 is initial.
perform Zinit_tree.
endif.
call method cl_gui_cfw=>flush.
endmodule. " STATUS_0100 OUTPUT
*& Form Zinit_tree
text
--> p1 text
<-- p2 text
form Zinit_tree .
perform Zbuild_fieldcatalog.
create container for alv-tree
data: l_tree_container_name(30) type c,
l_custom_container type ref to cl_gui_custom_container.
l_tree_container_name = 'TREE1'.
if sy-batch is initial.
create object l_custom_container
exporting
container_name = l_tree_container_name
exceptions
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5.
if sy-subrc <> 0.
message x208(00) with 'ERROR'. "#EC NOTEXT
endif.
endif.
create tree control
create object tree1
exporting
parent = l_custom_container
node_selection_mode = cl_gui_column_tree=>node_sel_mode_single
item_selection = 'X'
no_html_header = ''
no_toolbar = ''
exceptions
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
illegal_node_selection_mode = 5
failed = 6
illegal_column_name = 7.
if sy-subrc <> 0.
message x208(00) with 'ERROR'. "#EC NOTEXT
endif.
create Hierarchy-header
data l_hierarchy_header type treev_hhdr.
perform zbuild_hierarchy_header changing l_hierarchy_header.
create info-table for html-header
data: lt_list_commentary type slis_t_listheader,
l_logo type sdydo_value.
perform Zbuild_comment using
lt_list_commentary
l_logo.
repid for saving variants
data: ls_variant type disvariant.
ls_variant-report = sy-repid.
create emty tree-control
call method tree1->set_table_for_first_display
exporting
is_hierarchy_header = l_hierarchy_header
it_list_commentary = lt_list_commentary
i_logo = l_logo
i_background_id = 'ALV_BACKGROUND'
i_save = 'A'
is_variant = ls_variant
changing
it_outtab = gt_VBAK "table must be emty !!
it_fieldcatalog = gt_fieldcatalog.
create hierarchy
perform Zcreate_hierarchy.
add own functioncodes to the toolbar
perform zchange_toolbar.
register events
perform zregister_events.
endform. " Zinit_tree
*& Form Zbuild_fieldcatalog
text
--> p1 text
<-- p2 text
form Zbuild_fieldcatalog .
get fieldcatalog
call function 'LVC_FIELDCATALOG_MERGE'
exporting
i_structure_name = 'VBAK'
changing
ct_fieldcat = gt_fieldcatalog.
sort gt_fieldcatalog by scrtext_l.
change fieldcatalog
data: ls_fieldcatalog type lvc_s_fcat.
loop at gt_fieldcatalog into ls_fieldcatalog.
case ls_fieldcatalog-fieldname.
when 'AUART' .
ls_fieldcatalog-no_out = 'X'.
ls_fieldcatalog-key = ''.
endcase.
modify gt_fieldcatalog from ls_fieldcatalog.
endloop.
endform. " Zbuild_fieldcatalog
*& Form zbuild_hierarchy_header
text
<--P_L_HIERARCHY_HEADER text
form zbuild_hierarchy_header changing
p_hierarchy_header type treev_hhdr.
p_hierarchy_header-heading = 'Hierarchy Header'. "#EC NOTEXT
p_hierarchy_header-tooltip =
'This is the Hierarchy Header !'. "#EC NOTEXT
p_hierarchy_header-width = 30.
p_hierarchy_header-width_pix = ''.
endform. " zbuild_hierarchy_header
*& Form Zbuild_comment
text
-->P_LT_LIST_COMMENTARY text
-->P_L_LOGO text
form Zbuild_comment using
pt_list_commentary type slis_t_listheader
p_logo type sdydo_value.
data: ls_line type slis_listheader.
LIST HEADING LINE: TYPE H
clear ls_line.
ls_line-typ = 'H'.
LS_LINE-KEY: NOT USED FOR THIS TYPE
ls_line-info = 'ALV-tree-demo: flight-overview'. "#EC NOTEXT
append ls_line to pt_list_commentary.
STATUS LINE: TYPE S
clear ls_line.
ls_line-typ = 'S'.
ls_line-key = 'valid until'. "#EC NOTEXT
ls_line-info = 'January 29 1999'. "#EC NOTEXT
append ls_line to pt_list_commentary.
ls_line-key = 'time'.
ls_line-info = '2.00 pm'. "#EC NOTEXT
append ls_line to pt_list_commentary.
ACTION LINE: TYPE A
clear ls_line.
ls_line-typ = 'A'.
LS_LINE-KEY: NOT USED FOR THIS TYPE
ls_line-info = 'actual data'. "#EC NOTEXT
append ls_line to pt_list_commentary.
p_logo = 'ENJOYSAP_LOGO'.
endform. " Zbuild_comment
*& Form Zcreate_hierarchy
text
--> p1 text
<-- p2 text
form Zcreate_hierarchy .
data: ls_vbak type vbak,
lt_vbak type vbak occurs 0.
get data
select * from vbak into table lt_vbak
up to 200 rows . "#EC CI_NOWHERE
sort lt_vbak by AUART.
add data to tree
data: l_AUART_key type lvc_nkey.
loop at lt_vbak into ls_vbak.
on change of ls_vbak-AUART.
perform Zadd_AUART_line using ls_vbak
changing l_AUART_key.
endon.
endloop.
calculate totals
call method tree1->update_calculations.
this method must be called to send the data to the frontend
call method tree1->frontend_update.
endform. " Zcreate_hierarchy
*& Form Zadd_AUART_line
text
-->P_LS_vbak text
-->P_0379 text
<--P_L_AUART_KEY text
form Zadd_AUART_line using p_ls_vbak type vbak
p_relat_key type lvc_nkey
changing p_node_key type lvc_nkey.
data: l_node_text type lvc_value,
ls_vbak type vbak.
set item-layout
data: lt_item_layout type lvc_t_layi,
ls_item_layout type lvc_s_layi.
ls_item_layout-t_image = '@3P@'.
ls_item_layout-fieldname = tree1->c_hierarchy_column_name.
ls_item_layout-style =
cl_gui_column_tree=>style_intensifd_critical.
append ls_item_layout to lt_item_layout.
add node
l_node_text = p_ls_vbak-AUART.
data: ls_node type lvc_s_layn.
ls_node-n_image = space.
ls_node-exp_image = space.
call method tree1->add_node
exporting
i_relat_node_key = p_relat_key
i_relationship = cl_gui_column_tree=>relat_last_child
i_node_text = l_node_text
is_outtab_line = ls_vbak
is_node_layout = ls_node
it_item_layout = lt_item_layout
importing
e_new_node_key = p_node_key .
endform. " Zadd_AUART_line
*& Form zchange_toolbar
text
--> p1 text
<-- p2 text
form zchange_toolbar .
get toolbar control
call method tree1->get_toolbar_object
importing
er_toolbar = mr_toolbar.
check not mr_toolbar is initial.
add seperator to toolbar
call method mr_toolbar->add_button
exporting
fcode = ''
icon = ''
butn_type = cntb_btype_sep
text = ''
quickinfo = 'This is a Seperator'. "#EC NOTEXT
add Standard Button to toolbar (for Delete Subtree)
call method mr_toolbar->add_button
exporting
fcode = 'DELETE'
icon = '@18@'
butn_type = cntb_btype_button
text = ''
quickinfo = 'Delete subtree'. "#EC NOTEXT
add Dropdown Button to toolbar (for Insert Line)
call method mr_toolbar->add_button
exporting
fcode = 'INSERT_LC'
icon = '@17@'
butn_type = cntb_btype_dropdown
text = ''
quickinfo = 'Insert Line'. "#EC NOTEXT
set event-handler for toolbar-control
create object toolbar_event_receiver.
set handler toolbar_event_receiver->on_function_selected
for mr_toolbar.
set handler toolbar_event_receiver->on_toolbar_dropdown
for mr_toolbar.
endform. " zchange_toolbar
*& Form zregister_events
text
--> p1 text
<-- p2 text
form zregister_events .
define the events which will be passed to the backend
data: lt_events type cntl_simple_events,
l_event type cntl_simple_event.
define the events which will be passed to the backend
l_event-eventid = cl_gui_column_tree=>eventid_expand_no_children.
append l_event to lt_events.
l_event-eventid = cl_gui_column_tree=>eventid_checkbox_change.
append l_event to lt_events.
l_event-eventid = cl_gui_column_tree=>eventid_header_context_men_req.
append l_event to lt_events.
l_event-eventid = cl_gui_column_tree=>eventid_node_context_menu_req.
append l_event to lt_events.
l_event-eventid = cl_gui_column_tree=>eventid_item_context_menu_req.
append l_event to lt_events.
l_event-eventid = cl_gui_column_tree=>eventid_header_click.
append l_event to lt_events.
l_event-eventid = cl_gui_column_tree=>eventid_item_keypress.
append l_event to lt_events.
call method tree1->set_registered_events
exporting
events = lt_events
exceptions
cntl_error = 1
cntl_system_error = 2
illegal_event_combination = 3.
if sy-subrc <> 0.
message x208(00) with 'ERROR'. "#EC NOTEXT
endif.
set Handler
data: l_event_receiver type ref to lcl_tree_event_receiver.
create object l_event_receiver.
set handler l_event_receiver->handle_node_ctmenu_request
for tree1.
set handler l_event_receiver->handle_node_ctmenu_selected
for tree1.
set handler l_event_receiver->handle_item_ctmenu_request
for tree1.
set handler l_event_receiver->handle_item_ctmenu_selected
for tree1.
endform. " zregister_events
*& Module USER_COMMAND_0100 INPUT
text
module USER_COMMAND_0100 input.
ok_code = sy-ucomm.
clear sy-ucomm.
case ok_code.
when 'EXIT' or 'BACK' or 'CANC'.
perform Zexit_program.
when others.
call method cl_gui_cfw=>dispatch.
endcase.
clear ok_code.
call method cl_gui_cfw=>flush.
endmodule. " USER_COMMAND_0100 INPUT
*& Form Zexit_program
text
--> p1 text
<-- p2 text
form Zexit_program .
call method tree1->free.
leave program.
endform. " Zexit_program
<b>Reward if usefull</b> -
Adding new row to the reports list page
How can I add a new report row in the reports list of the reports tab.
Ex: a new row to the report "users by Date of Join report" is to be added
How can we add Please help me out in thisI am facing the same problem!
camickr wrote:
Try adding an empty row containing a null value for the String instead of the empty String.camickr, it will not help, the DefaultRowSorter in the "*+compare(int model1, int model2)+*" method return -1 if the first value is null and 1 if the sacond value is null. and incase of DESCENDING it mult by -1.
// Treat nulls as < then non-null
if (v1 == null) {
if (v2 == null) {
result = 0;
} else {
result = -1;
} else if (v2 == null) {
result = 1;
} else {
result = sortComparators[counter].compare(v1, v2);
if (sortOrder == SortOrder.DESCENDING) {
result *= -1;
}And this is the real problem!
The empty line is sorted as the smallest value and incase of DESCENDING it will be the first line (because of the mult by -1).
We could have overide it and incase of the empty row(usualy the last row) do not mult by -1 in DESCENDING mode.
But the problem is that the "+*compare*+" method and it's caller "*+Row+*" inner class are private :-(
It is not wise to do it but we can do like kmp83 wrote:
kmp83 wrote:
copy/duplicate "private" code from DefaultRowSorter into my extended class.Anyone have another suggestion? -
An Image JPanel, A semi-transparent JPanel, and non-opaque components
This is a more intelligent re-asking of the question I posed here: http://forum.java.sun.com/thread.jspa?threadID=579298&tstart=50.
I have a class called ImagePane, which is basically a JPanel with an image background. The code is much like the ImagePanel posted by camickr, discussed in this topic: http://forum.java.sun.com/thread.jspa?forumID=57&threadID=316074 (except mine only draws the image, it does not tile or scale it).
On top of my ImagePane, I can place another component, TransparentContainer. This again extends JPanel, only a color is specified in the constructor, and it is drawn at about 70% opacity. This component is meant to help increase the readability of text components that blend with the background image, without blocking out the background image completely.
This works very well, until I need to add a component, like, say, a non-opaque JRadioButton in a ButtonGroup. When you select a new JRadioButton at runtime, the semi-transparent JPanel fills with a combination of a completely opaque color (the one specifies to the TransparentContainer) and garbage from the non-opaque component being redrawn.
I have noticed that the UI is restored to being non-messed up if you place another application window on top of it and then move it. So apparently, one solution is to redraw the entire UI, or just the part that has the JRadioButton on it, every time the radio button is clicked. However, this seems unnecessarily complicated. It seems to me that I am missing something in my TransparentContainer's paintComponent() method. Does anyone have any ideas?
Here is my TransparentContainer code, if it will help:
import java.awt.AlphaComposite;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import javax.swing.JPanel;
public final class TransparentContainer extends JPanel
/* Private Fields: For use only by this class.
* These fields hold information needed by more
* than one method of this class.
private boolean fullTransparencyEnabled;
private Color baseColor;
private Color outerBorderColor;
private Color innerBorderColor;
private int obw;
private int ibw;
private int cbw;
/* -- START OF METHODS -- */
/* public TransparentContainer(Color color, boolean fullTrans)
* Initiallizes the transparent container object
* with 'color' as its base color.
public TransparentContainer(Color color, boolean fullTrans)
fullTransparencyEnabled = fullTrans;
baseColor = color;
Color borders[] = findBorderColors();
outerBorderColor = borders[0];
innerBorderColor = borders[1];
obw = 3;
ibw = 1;
cbw = obw + ibw;
/* private Color[] findBorderColors(Color base)
* Calculates the colors for the outer and inner
* borders of the object based on the base color.
private Color[] findBorderColors()
Color borders[] = new Color[2];
int colorData[] = new int[9];
colorData[0] = getBaseColor().getRed();
colorData[1] = getBaseColor().getGreen();
colorData[2] = getBaseColor().getBlue();
colorData[3] = colorData[0] - 50; // outerBorder red
colorData[4] = colorData[1] - 45; // outerBorder green
colorData[5] = colorData[2] - 35; // outerBorder blue
colorData[6] = colorData[0] + 30; // innerBorder red
colorData[7] = colorData[1] + 30; // innerBorder green
colorData[8] = colorData[2] + 20; // innerBorder blue
/* Make sure the new color data is not out of bounds: */
for (int i = 3; i < colorData.length; i++)
if (colorData[i] > 255)
colorData[i] = 255;
else if (colorData[i] < 0)
colorData[i] = 0;
borders[0] = new Color(colorData[3], colorData[4], colorData[5]);
borders[1] = new Color(colorData[6], colorData[7], colorData[8]);
return borders;
/* public Color getBaseColor()
* Returns the baseColor of this object.
public Color getBaseColor()
return baseColor;
/* public Color getOuterColor()
* Returns the outerBorderColor of this object.
public Color getOuterColor()
return outerBorderColor;
/* public Color getInnerColor()
* Returns the innerBorderColor of this object.
public Color getInnerColor()
return innerBorderColor;
/* public boolean getFullTransEnabled()
* Returns whether or not this object will render
* with all of its transparency effects.
public boolean getFullTransEnabled()
return fullTransparencyEnabled;
/* protected void paintComponent(Graphics g)
* Paints the component with the borders and colors
* that were set up in above methods.
protected void paintComponent(Graphics g)
Graphics2D g2d = (Graphics2D) g;
AlphaComposite alphaComp;
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2d.setRenderingHint(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_QUALITY);
g2d.setRenderingHint(RenderingHints.KEY_ALPHA_INTERPOLATION,
RenderingHints.VALUE_ALPHA_INTERPOLATION_QUALITY);
g2d.setColor(getBaseColor());
/* Draw the main body of the component */
if (getFullTransEnabled())
alphaComp = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.6f);
g2d.setComposite(alphaComp);
else
alphaComp = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1.0f);
g2d.setComposite(alphaComp);
g2d.fillRect(cbw, cbw, super.getWidth() - 2 * cbw, super.getHeight() - 2 * cbw);
alphaComp = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.6f);
g2d.setComposite(alphaComp);
/* Draw the inner border: */
g2d.setColor(getInnerColor());
g2d.fillRect(obw, obw, ibw, super.getHeight() - obw * 2); // left border
g2d.fillRect(obw, obw, super.getWidth() - obw, ibw); // top border
g2d.fillRect(super.getWidth() - cbw, obw, ibw, super.getHeight() - obw * 2); // right border
g2d.fillRect(obw, super.getHeight() - cbw, super.getWidth() - obw * 2, ibw); // bottom border
/* Draw the outer border: */
g2d.setColor(getOuterColor());
g2d.fillRect(0, 0, obw, super.getHeight()); // left border
g2d.fillRect(0, 0, super.getWidth() + obw, obw); // top border
g2d.fillRect(super.getWidth() - obw, 0, obw, super.getHeight()); // right border
g2d.fillRect(0, super.getHeight() - obw, super.getWidth(), obw); // bottom border
alphaComp = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1.0f);
g2d.setComposite(alphaComp);
g2d.dispose();
}I added the main method to your TransparentContainer class ...
public static void main(String[] args) {
JFrame f = new JFrame("test transparent container");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
TransparentContainer tc = new TransparentContainer(Color.RED, true);
JLabel label = new JLabel("Hello, World!");
tc.add(label);
f.getContentPane().add(tc);
f.setSize(800, 600);
f.setVisible(true);
}...using the code you posted the label was not shown. I modified your paintComponent(Graphics g) method and I did this (see the areas in bold):
/* protected void paintComponent(Graphics g)
* Paints the component with the borders and colors
* that were set up in above methods.
protected void paintComponent(Graphics g)
// Call super so components added to this panel are visible
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
AlphaComposite alphaComp;
g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2d.setRenderingHint(RenderingHints.KEY_COLOR_RENDERING, RenderingHints.VALUE_COLOR_RENDER_QUALITY);
g2d.setRenderingHint(RenderingHints.KEY_ALPHA_INTERPOLATION,
RenderingHints.VALUE_ALPHA_INTERPOLATION_QUALITY);
g2d.setColor(getBaseColor());
/* Draw the main body of the component */
if (getFullTransEnabled())
alphaComp = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.6f);
g2d.setComposite(alphaComp);
else
alphaComp = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1.0f);
g2d.setComposite(alphaComp);
g2d.fillRect(cbw, cbw, super.getWidth() - 2 * cbw, super.getHeight() - 2 * cbw);
alphaComp = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.6f);
g2d.setComposite(alphaComp);
/* Draw the inner border: */
g2d.setColor(getInnerColor());
g2d.fillRect(obw, obw, ibw, super.getHeight() - obw * 2); // left border
g2d.fillRect(obw, obw, super.getWidth() - obw, ibw); // top border
g2d.fillRect(super.getWidth() - cbw, obw, ibw, super.getHeight() - obw * 2); // right border
g2d.fillRect(obw, super.getHeight() - cbw, super.getWidth() - obw * 2, ibw); // bottom border
/* Draw the outer border: */
g2d.setColor(getOuterColor());
g2d.fillRect(0, 0, obw, super.getHeight()); // left border
g2d.fillRect(0, 0, super.getWidth() + obw, obw); // top border
g2d.fillRect(super.getWidth() - obw, 0, obw, super.getHeight()); // right border
g2d.fillRect(0, super.getHeight() - obw, super.getWidth(), obw); // bottom border
alphaComp = AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1.0f);
g2d.setComposite(alphaComp);
// Do not dispose the graphics
// g2d.dispose();
}...seems to work fine now. Perhaps you should also add methods or additional constructors so the user can easily change the transparency level...and add some javadoc comments to your constructors ...at a first glance I did not know what fullTrans was
public TransparentContainer(Color color, boolean fullTrans)good luck!!
Maybe you are looking for
-
Problem related to a column in a table?
Hi All, I have a table and two webservices.On the basis of certain search criteria,the table will get populatedwith data. In the search screen i am passing values to both the webservices. Then in return my table is getting populated with data from bo
-
Ipod nano 5th generation freezes when trying to play a song or video
Within the last couple of day my ipod nano 5th generation started freezing whenever i tryed to play a song. Oly way i could turn it off was by resetting it, however it did not fix the problem and still freezes whenever i try to play a song. I have ev
-
I bought a new pc, and I would like all of my itunes content on here. I seem to be able to only download one song at a time. How can I get my entire library on my new pc
-
How to insert record inside the internal table in below code
Hi all, My requirement is to find the sub-total and need to insert in between the internal table. You can see the output ....where I want the sub-total F2 when 1 & 2 combindely , 3 , 4& 5 combindely .Please check it and let me know is it possible whe
-
Help need to display record in same line
Hi all, Correct output is not coming. Movement type u2018261u2019 is material of type raw material. Movement type u2018101u2019 is material of type finished prodcut. I need to display finished product material details & beside that raw materials in